How To Use MDI Form in VB
How To Use MDI Form in VB
The Form that you have been using so far are single form. In Visual Basic you can use
Multiple Document Interface (MDI) Form, a form that can contain multiple forms. Here
is how to create MDI Form:
1. Continue the MDI Form project, in the Project Window, double click the MDI
Form1 to put the MDI Form in front
2. In the Menu of VB, click Tools > Menu
Editor or you can use Ctrl-E. The menu
Editor will appear.
3. In the Caption, type &File then in the name,
type mnuFile then click Next button
4. In the Caption, type &Exit then in the name,
type mnuExit then click right arrow button.
In the Shortcut list, choose Ctrl-X, then Next
button
5. In the Caption, type &Window then in the
name, type mnuWindow then click the
Window List checkbox, and then the Next
button.
6. In the Caption, type &Calendar then in the
name, type mnuCalendar then click right
arrow button. In the Shortcut list, choose Ctrl-L, then Next button
7. In the Caption, type &Controller then in the name, type mnuController then click
right arrow button. In the Shortcut list, choose F6, then Next button
8. The menu editor will be the same as figure on the right. Press OK
9. Now you have menu in the MDI Form, click File>Exit and enter
10. In the mnuExit_Click procedure, type
End
End Sub
11. In the menu of MDI form, select Window > Controller and click to wrie the
subsequent code
12. Run the program, and look at the Window menu and try the Exit menu.
Calendar1.Width = 5000
Calendar1.Height = 4000
Me.Width = 5050
Me.Height = 4350
End Sub
Calendar1.Today
End Sub
8. In the project window, double click MDI Form to put the MDI form in front.
9. In the Menu of VB, click Tools > Menu Editor or you can use Ctrl-E. The menu
Editor will appear.
10. Click the space below &Window then in the Caption, type &Calendar then in the
name, type mnuCalendar . Check the Checked checkbox then click the right
arrow. After that, click Next button and press OK button.
11. Now in the MDI Form, you select the menu Window > Calendar and press, then
type the code below:
12. Add code below to call the Calendar Form from the MDI form at the first time
and to maximize the MDI form:
frmCalendar.Show
MDIForm1.WindowState = vbMaximized
End Sub
13. Run the program. Select the menu Window > Calendar several times to see the
effect of Checked menu.
VERSION 4.00
Begin VB.Form Calculator
BorderStyle = 1 'Fixed Single
Caption = "Calculator"
ClientHeight = 2970
ClientLeft = 2580
ClientTop = 1485
ClientWidth = 3270
ClipControls = 0 'False
BeginProperty Font
name = "System"
charset = 1
weight = 700
size = 9.75
underline = 0 'False
italic = 0 'False
strikethrough = 0 'False
EndProperty
Height = 3375
Icon = "CALC.frx":0000
Left = 2520
LinkMode = 1 'Source
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 2970
ScaleWidth = 3270
Top = 1140
Width = 3390
Begin VB.CommandButton Number
Caption = "7"
Height = 480
Index = 7
Left = 120
TabIndex = 7
Top = 600
Width = 480
End
Begin VB.CommandButton Number
Caption = "8"
Height = 480
Index = 8
Left = 720
TabIndex = 8
Top = 600
Width = 480
End
Begin VB.CommandButton Number
Caption = "9"
Height = 480
Index = 9
Left = 1320
TabIndex = 9
Top = 600
Width = 480
End
Begin VB.CommandButton Cancel
Caption = "C"
Height = 480
Left = 2040
TabIndex = 10
Top = 600
Width = 480
End
Begin VB.CommandButton CancelEntry
Caption = "CE"
Height = 480
Left = 2640
TabIndex = 11
Top = 600
Width = 480
End
Begin VB.CommandButton Number
Caption = "4"
Height = 480
Index = 4
Left = 120
TabIndex = 4
Top = 1200
Width = 480
End
Begin VB.CommandButton Number
Caption = "5"
Height = 480
Index = 5
Left = 720
TabIndex = 5
Top = 1200
Width = 480
End
Begin VB.CommandButton Number
Caption = "6"
Height = 480
Index = 6
Left = 1320
TabIndex = 6
Top = 1200
Width = 480
End
Begin VB.CommandButton Operator
Caption = "+"
Height = 480
Index = 1
Left = 2040
TabIndex = 12
Top = 1200
Width = 480
End
Begin VB.CommandButton Operator
Caption = "-"
Height = 480
Index = 3
Left = 2640
TabIndex = 13
Top = 1200
Width = 480
End
Begin VB.CommandButton Number
Caption = "1"
Height = 480
Index = 1
Left = 120
TabIndex = 1
Top = 1800
Width = 480
End
Begin VB.CommandButton Number
Caption = "2"
Height = 480
Index = 2
Left = 720
TabIndex = 2
Top = 1800
Width = 480
End
Begin VB.CommandButton Number
Caption = "3"
Height = 480
Index = 3
Left = 1320
TabIndex = 3
Top = 1800
Width = 480
End
Begin VB.CommandButton Operator
Caption = "X"
Height = 480
Index = 2
Left = 2040
TabIndex = 14
Top = 1800
Width = 480
End
Begin VB.CommandButton Operator
Caption = "/"
Height = 480
Index = 0
Left = 2640
TabIndex = 15
Top = 1800
Width = 480
End
Begin VB.CommandButton Number
Caption = "0"
Height = 480
Index = 0
Left = 120
TabIndex = 0
Top = 2400
Width = 1080
End
Begin VB.CommandButton Decimal
Caption = "."
Height = 480
Left = 1320
TabIndex = 18
Top = 2400
Width = 480
End
Begin VB.CommandButton Operator
Caption = "="
Height = 480
Index = 4
Left = 2040
TabIndex = 16
Top = 2400
Width = 480
End
Begin VB.CommandButton Percent
Caption = "%"
Height = 480
Left = 2640
TabIndex = 17
Top = 2400
Width = 480
End
Begin VB.Label Readout
Alignment = 1 'Right Justify
BackColor = &H0000FFFF&
BorderStyle = 1 'Fixed Single
Caption = "0."
BeginProperty Font
name = "MS Sans Serif"
charset = 1
weight = 700
size = 12
underline = 0 'False
italic = 0 'False
strikethrough = 0 'False
EndProperty
ForeColor = &H00000000&
Height = 375
Left = 120
TabIndex = 19
Top = 105
Width = 3000
End
End
Attribute VB_Name = "Calculator"
Attribute VB_Creatable = False
Attribute VB_Exposed = False
'
------------------------------------------------------------------------
' Copyright (C) 1994 Microsoft Corporation
'
' You have a royalty-free right to use, modify, reproduce and distribute
' the Sample Application Files (and/or any modified version) in any way
' you find useful, provided that you agree that Microsoft has no
warranty,
' obligations or liability for any Sample Application Files.
'
------------------------------------------------------------------------
Option Explicit
Dim Op1, Op2 ' Previously input operand.
Dim DecimalFlag As Integer ' Decimal point present yet?
Dim NumOps As Integer ' Number of operands.
Dim LastInput ' Indicate type of last keypress event.
Dim OpFlag ' Indicate pending operation.
Dim TempReadout