Salakhetdinov Shamil
mcp2004 at mail.ru
Fri Mar 15 06:46:08 CDT 2013
Hi Gustav -- I have just tried to open and make visible the child form the way you do - it worked well, no any frame painted. The issue should be then, as Stuart noted, with your lengthy calculations, which suspend form's rendering. -- Shamil Пятница, 15 марта 2013, 11:46 +01:00 от "Gustav Brock" <gustav at cactus.dk>: >Hi Shamil > >I don't think so. The main issue is not to make the form visible; it is to prevent its frame (or anything else) to be painted on the screen when the form is opened as hidden: > > DoCmd.OpenForm "frmSomeForm", acNormal , , , , acHidden > >In my world, a form opened hidden should not show anything on the screen until its property Visible is set to True. > >/gustav > >-----Oprindelig meddelelse----- >Fra: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] På vegne af Salakhetdinov Shamil >Sendt: 15. marts 2013 11:18 >Til: Access Developers discussion and problem solving >Emne: Re: [AccessD] DoCmd.OpenFrom acHidden is not hidden > > Gustav -- > >Additionally: using Form's Timer event to make calculations and to call SetVisible() should help to solve your issue I suppose. > >Thank you. > >-- Shamil > > >Пятница, 15 марта 2013, 13:18 +04:00 от Salakhetdinov Shamil < mcp2004 at mail.ru >: >>Hi Gustav -- >> >>If your calling/parent form doesn't have any special attributes set, >>IOW it's opened in a Normal form view, with no popup or modal modes >>'On' then I'd guess that your >> >>=SetVisible() >> >>call of the child form's hidden textbox somehow 'weirdly interacts' >>with acHidden argument of the executing call >> >> DoCmd.OpenForm "frmSomeForm", acNormal , , , , acHidden >> >>I mean =SetVisible() could be called *before* Form Open event, and while being called it forces its form to start to be rendered but here acHidden argument comes into play... >> >>I'd try to call SetVisible() in the form Open event >> >>Me.MySoFarInvisbleTextBox.Visible = SetVisible() >> >>Why do you use so unusual(?) way to make your form visible via an indirect call to the SetVisible() function? >> >>Thank you. >> >>-- Shamil >> >>Пятница, 15 марта 2013, 9:31 +01:00 от "Gustav Brock" < gustav at cactus.dk >: >>>Hi all >>> >>>From a form I try to open another form hidden by clicking a button: >>> >>> DoCmd.OpenForm "frmSomeForm", acNormal , , , , acHidden >>> >>>Then the hidden form is supposed to do some calculations and, when >>>finished, unhide itself by means of a not visible textbox bound to a function: >>> >>> =SetVisible() >>> >>>which contains: >>> >>>Private Function SetVisible() As Boolean >>> Me.Visible = True >>> SetVisible = True >>>End Function >>> >>>The sequence works except for one thing - the form isn't opened hidden >>>because its frame is shown at once. >>>Thus, the sequence is: >>> >>>1. Frame of hidden form is shown on top of the calling form. The form >>>itself is transparent so the calling form is still visible inside the frame. >>>2. The "hidden" form performs the calculations. >>>3. The "hidden" form paints its inside invisibly. >>>4. SetVisible is called. >>>5. The completed form is visible. >>> >>>I've also tried opening the hidden form with: >>> >>> Set frm = New Form_frmSomeForm >>> frm. Visible = False >>> >>>No difference. Also having this in the OnOpen event of the form: >>> >>> Me.Visible = False >>> >>>All to no avail. >>> >>>Any ideas for opening a form completely hidden? >>> >>>/gustav > >