jana
asked on
X Y Position in VB
We have a form and want the form to be display in specific x y based on the original calling form.
Here is a sample .
1.zip
1.zip
ASKER
Let me provide an example, visually of what we are trying to accomplish.
The image provided is a 2 part image. The first part display both Forms seperated but how we want it to be. The second part display the Form2 where we want, under the Text Box.
The problem facing is if the user moves the window, we can't seem to coordinate the new x/y values.
Please keep in mind the this isn in VBA, no VB
Can this be possible?
Thanx !!
Image:
The image provided is a 2 part image. The first part display both Forms seperated but how we want it to be. The second part display the Form2 where we want, under the Text Box.
The problem facing is if the user moves the window, we can't seem to coordinate the new x/y values.
Please keep in mind the this isn in VBA, no VB
Can this be possible?
Thanx !!
Image:
The following sample calculates the new x/y values, if the user moves the window.
2.zip
2.zip
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Worked excellently !
Can you give us a bit of explanation of how does it work so we can understand it:
Can you give us a bit of explanation of how does it work so we can understand it:
Private Sub Command1_Click()
Form2.Show
TextboxHeight = Form1.Text1.Height
Form1BlueCaptionFieldHeight = 20 * 15
Form2.Top = Form1.Top + Form1BlueCaptionFieldHeight + Form1.Text1.Top + TextboxHeight
Form2.Left = Form1.Left + Form1.Text1.Left
End Sub
ASKER
We just stared to work with your recommendation, but noticed that thers really 3 forms: Form1 is the background form, Form2 would be the Customer form and Form3 would be the combo box.
With this in mind, what changes should we make to your calculations?
With this in mind, what changes should we make to your calculations?
Form2.Show 'makes the window visible
SetWindowPos Form2.hwnd, -1, 0, 0, 0, 0, 3 'shows Form2 permanently in foreground
TextboxHeight = Form1.Text1.Height
Form1BlueCaptionFieldHeigh t = 20 * 15 ' 15 Twips per pixel
Form2.Top = Form1.Top + Form1BlueCaptionFieldHeigh t + Form1.Text1.Top + TextboxHeight
Form2.Left = Form1.Left + Form1.Text1.Left
SetWindowPos Form2.hwnd, -1, 0, 0, 0, 0, 3 'shows Form2 permanently in foreground
TextboxHeight = Form1.Text1.Height
Form1BlueCaptionFieldHeigh
Form2.Top = Form1.Top + Form1BlueCaptionFieldHeigh
Form2.Left = Form1.Left + Form1.Text1.Left
ASKER
Thank you.
What about our doubt in ID: 37804064, when in 3 forms (see pic). The thing is when started working with the solution, the reality is that its 3 forms. As shown in the pic, its the same issue but with the background as form1, form2 as the Customer form and the last form3 as the form that we want to make it keep location as in the first example.
What about our doubt in ID: 37804064, when in 3 forms (see pic). The thing is when started working with the solution, the reality is that its 3 forms. As shown in the pic, its the same issue but with the background as form1, form2 as the Customer form and the last form3 as the form that we want to make it keep location as in the first example.
ASKER
Note form2, at the moment and will cannot be move out of form1; always moving within form1.
I converted Form1 to a MDIform and I set the "MDIchild"
property of Form2 to "True". So Form2 cannot be moved out of Form1.
The sample now has 3 Forms:
1) MDIForm (Form1)
2) Form2
3) Form3
6.zip
property of Form2 to "True". So Form2 cannot be moved out of Form1.
The sample now has 3 Forms:
1) MDIForm (Form1)
2) Form2
3) Form3
6.zip
ASKER
Thanx
ASKER