ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   ZOrder of two forms (https://www.excelbanter.com/excel-programming/326584-zorder-two-forms.html)

OfficeHacker

ZOrder of two forms
 
Here's the scenario:
I have two forms to display on the screen: Form1 and Form2. The Form2 is
displayed after the user clicks a button on Form1 (which is already
displayed). Form2 is automatically displayed in front of Form1. Both forms
are loaded modeless (you can't load a second form if the first is modal).

Here's the problem:
I need the capacity to change the ZOrder of the two forms without unloading
either of them. That is I need to programmatically force Form1 to be in front
of Form2, or alternatively Form2 in front of Form1.

I have not been able to find a way to do this. The forms themselves to not
have a ZOrder property. The only other way I can think of is via an API
though I'm not sure which API function would solve this.

Any ideas?

NickHK

ZOrder of two forms
 
OfficeHacker,
Have you looked into using .Move so they are both visible, or .Hide ?

NickHK

"OfficeHacker" wrote in message
...
Here's the scenario:
I have two forms to display on the screen: Form1 and Form2. The Form2 is
displayed after the user clicks a button on Form1 (which is already
displayed). Form2 is automatically displayed in front of Form1. Both forms
are loaded modeless (you can't load a second form if the first is modal).

Here's the problem:
I need the capacity to change the ZOrder of the two forms without

unloading
either of them. That is I need to programmatically force Form1 to be in

front
of Form2, or alternatively Form2 in front of Form1.

I have not been able to find a way to do this. The forms themselves to not
have a ZOrder property. The only other way I can think of is via an API
though I'm not sure which API function would solve this.

Any ideas?




keepITcool

ZOrder of two forms
 

for form1 it's very important that you distinguish
between the form' initialize event and the activate event.

unless you're activate event clears or sets controls
hiding the form does not affect control's values.
and any data entered by the user should be preserved.

hiding and showing form1 when form2 closes is needed
to give it focus.


in form1...
Private Sub CommandButton1_Click()
Me.Enabled=False
UserForm2.Show vbModeless
End Sub

in form2...
Private Sub UserForm_Terminate()
With UserForm1
.Enabled = True
.StartUpPosition = 0
.Hide
.Show vbModeless
End With
End Sub




--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


OfficeHacker wrote :

Here's the scenario:
I have two forms to display on the screen: Form1 and Form2. The Form2
is displayed after the user clicks a button on Form1 (which is
already displayed). Form2 is automatically displayed in front of
Form1. Both forms are loaded modeless (you can't load a second form
if the first is modal).

Here's the problem:
I need the capacity to change the ZOrder of the two forms without
unloading either of them. That is I need to programmatically force
Form1 to be in front of Form2, or alternatively Form2 in front of
Form1.

I have not been able to find a way to do this. The forms themselves
to not have a ZOrder property. The only other way I can think of is
via an API though I'm not sure which API function would solve this.

Any ideas?



All times are GMT +1. The time now is 09:00 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com