ZOrder of two forms

G

Guest

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?
 
N

NickHK

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

NickHK
 
K

keepITcool

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 :
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top