Advertise Information
Trapped in somebody else's frames?  BreakOut!!!

Center an MDI Child Form Within the Parent

This week's Source Code Example was provided by ChrisGibbs@aol.com. Many thanks to Chris for the source code example!

Chris has submitted a code example useful when you need to center an MDI child form within the parent window. In order to accomplish this, create a SUB as shown below. The SUB (CenterChild) requires two arguments. The first of these two arguments is the name of the MDI (parent) form. The second argument is the name of the MDI Child form.

Sub CenterChild (Parent As Form, Child As Form)
    Dim iTop As Integer
    Dim iLeft As Integer
    If Parent.WindowState <> 0 Then Exit Sub
    iTop = ((Parent.Height - Child.Height) \ 2)
    iLeft = ((Parent.Width - Child.Width) \ 2)
    Child.Move iLeft, iTop ' (This is more efficient than setting Top and Left properties)
End Sub

The next thing you will need to do is actually call the CenterChild procedure. I have placed the call to CenterChild within the child window's Form_Click event procedure.
Sub Form_Click ()
    CenterChild MDIForm1, Form1
End Sub