多文档界面(Multiple Document Interface)是指在一个父窗口下面可以同时打开多个子窗口。
注意:
@ 为了更清楚的了解多文档界面窗体的含义,用户在学习的时候请和上节所讲的内容做比较。
下面以一个示例来说明如何利用Visual Basic 6.0中的MDI进行程序的设计,示例程序的具体步骤如下:
首先启动一个新的项目,在屏幕上会出现一个空白的窗体,窗体的属性设置如表4-5所示。
表4-5 窗体的属性设置
|
属 性 |
设 置 |
|
(Name) |
Form1 |
|
AutoRedraw |
True |
|
BorderStyle |
2 – Sizable |
|
Caption |
Form1 |
|
Height |
3600 |
|
Left |
0 |
|
MDIChild |
True |
|
Moveable |
True |
|
Top |
0 |
|
Width |
4800 |
这样设置的窗体有以下的特性:
n 窗体的自动重绘处于有效的状态;
n 在程序的运行过程中窗体可以改变大小;
n 窗体可以作为MDI窗体的子窗体;
n 在程序的运行过程窗体可以移动。
选择菜单“工程”/“添加MDI窗体”,就会弹出如图4-14所示的对话框。

图4-14 添加MDI窗体对话框
单击“打开“按钮,添加一个MDI窗体,窗体的属性设置如表4-6所示。
表4-6 MDI窗体的属性设置
|
属 性 |
设 置 |
|
(Name) |
MDIForm1 |
|
AutoShowChildren |
False |
|
Caption |
MDIForm1 |
|
Height |
3885 |
|
Left |
105 |
|
Moveable |
False |
|
StartUpPosition |
2 - CenterScreen |
|
Top |
-180 |
|
Width |
4800 |
这样设置的MDI窗体有如下特性:
n MDI窗体不能够自动的显示子窗体;
n 窗体在程序的运行过程中不能移动;
n 窗体始终位于屏幕的中央。
选择菜单“工程”/“添加窗体”,就会弹出如图4-15所示的对话框。

图4-15 添加子窗体对话框
在“添加窗体”对话框中选择“关于对话框”,单击“打开“按钮,就在MDI窗体上添加了一个子窗体,子窗体FrmAbout的属性设置如表4-7所示。
表4-7 子窗体FrmAbout的属性设置
|
属 性 |
设 置 |
|
(Name) |
FrmAbout |
|
BorderStyle |
3 - Fixed Dialog |
|
Caption |
About MyApp |
|
Enabled |
True |
|
Height |
3930 |
|
Left |
2295 |
|
MDIChild |
True |
|
Moveable |
True |
|
Top |
1605 |
|
Visible |
True |
|
Width |
5820 |
这样设置的子窗体有如下的特性:
n 窗体在程序的运行过程中不能改变大小;
n 程序运行时可以移动窗体;
n 窗体为MDI窗体的一个子窗体。
在程序的设计阶段双击子窗体Form1,在它的Form_Load()过程中添加下列代码:
Private Sub Form_Load()
Dim x As Integer
For x = 0 To 3000 Step 75
Line (0, 1000)-(x, 0)
Line (0, 1000)-(x, 2000)
Line (3000, 1000)-(3000 - x, 2000)
Line (3000, 1000)-(3000 - x, 0)
Next
End Sub
提示:
@ 程序首先定义了一个整型变量x,然后进入了一个循环,在循环中通过四个画直线的语句来实现程序中绘制图形的功能。
选择菜单“工具”菜单上的“菜单编辑器”,就会弹出如图4-16所示的对话框。
在菜单编辑器中,建立两个菜单项——“文件”和“退出”,在“文件”项下还有两个子菜单——“绘图”和“关于”,它们的属性设置如表4-8所示。
添加菜单后的MDI窗体如图4-17所示。

图4-16 菜单编辑器对话框
表4-8 菜单属性
|
属 性 |
设 置 |
|
Caption |
文件 |
|
Name |
File |
|
Caption |
绘图 |
|
Name |
Draw |
|
Caption |
关于 |
|
Name |
About |
|
Caption |
退出 |
|
Name |
Exit |

图4-17 添加菜单后的MDI窗体
由于在本节的后面附了程序的完整源代码,所以在这里就不对代码的添加过程做更多的阐述,读者如果有不清楚的地方,请参见附后的源代码。
存储文件,运行程序,初始画面如图4-18所示。

图4-18 程序运行初始画面
单击菜单“文件”/“绘图”,就会弹出如图4-19所示的绘图子窗体。

图4-19 绘图子窗体
单击菜单“文件”/“关于”,就会弹出如图4-20所示的About子窗体。

图4-20 About子窗体
附程序完整源代码:
程序清单(MDIForm1.frm文件内容)