多文档界面MDI(Mulgiple Document Interface)是指在一个父窗口下面可以同时打开多个子窗口。MDI应用程序允许用户同时显示多个文档,每个文档显示在它自己的窗口中,文档或子窗口被包含在父窗口中,父窗口为应用程序中所有的子窗口提供工作空间。子窗口归属于父窗口,如果父窗口关闭,则所有子窗口全部关闭。常见的Windows应用的界面,例如微软Office的几个组件程序,全部采用的都是多文档界面。
1、MDI应用程序设计示例
创建MDI应用程序的方法比较简单。首先必须插入一个MDI窗体。下面以一个示例来说明如何利用VB中的MDI进行程序设计。
(1)设置初始窗体属性
首先启动一个新的工程,在屏幕一就会出现一个空白的窗体,窗体的属性。
属性 设置
Name
Form1
Caption
Form1
AutoRedraw True'窗体的自动重绘处于有效的状态
BorderStyle
2-Sizable'在程序的运行过程中窗体可以改变大小
MDIChild
True'窗体可以作为MDI窗体的子窗体
Moveable
True'在程序的运行过程窗体可以移动
任何普通窗体都可以被设置为MDI应用程序的子窗体。方法是把普通窗体的MDIChild属性设置为True。一个应用程序可以包含许多相似或者不同样式的MDI子窗体。
(2)添加MDI窗体,设置属性
选择菜单“工程(Project)”/“添加MDI窗体(Add MDI Form)”,弹出对话框,单击[打开]按钮,添加一个MDI窗体,窗体的属性设置。
属性 设置
Name
MDIform1
AutoShowChildern
FalseMDI'窗体不能够自动的显示子窗体
Caption
MDIForm1
Moveable
False'窗体在程序的运行过程中不能移动
StartUpPosition
2-CenterScreen'窗体始终位于屏幕的中央
注意:一个应用程序只能有一个MDI窗体。如果工程已经有了一个MDI窗体,则该“工程”菜单上的“添加MDI窗体”命令就不可使用。
(3)添加子窗体,设置属性
选择菜单“工程Project”/“添加窗体Add Form”,就会弹出对话框。
在AddForm对话框中选择About Dialog(关于对话框),单击[打开]按钮,就在MDI窗体上添加一个子窗体,子窗体FrmAbout的属性设置如下
属性 设置
Name
FrmAbout
BorderStyle
3-Fixed Dialog'窗体在程序的运行过程中不能改变大小
Caption
About MyApp
MDIChild
True'窗体为MDI窗体的一个子窗体
Moveable
True'程序运行时可以移动窗体
Visible
True
(4)为子窗体Form1添加代码
在程序的设计阶段双击子窗体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,然后进入一个循环,在循环中通过四个画直线的语句来实现程序中绘制图形的功能。
(5)为MDI窗体添加菜单
选择菜单“工具Tool”/“菜单编辑器Menu Editor”,就会弹出对话框,在菜单编辑器中,建立两个菜单项,即“文件”和“退出”,在“文件”项下还有两个菜单,即“绘图(名称:Draw)”和“关于(名称:About)”。
(6)添加菜单单击事件响应代码
分别响应三个菜单项的鼠标单击事件的代码如下:
1)单击"关于"菜单项
Private Sub About_Click()
Form1.Hide '隐藏窗体Form1.
frmAbout.Show '显示窗体frmAbout
End Sub
2)单击"绘图"菜单项
Private Sub Draw_Click()
frmAbout.Hide '隐藏窗体frmAbout
Form1.Show '显示窗体Form1.
End Sub
3)单击"退出"菜单项
Private Sub Exit _Click()
End
End Sub
(7)运行程序
[程序演示] [程序下载]
2、MDI应用程序中的菜单设计
在MDI应用程序中,每一个子窗体的菜单都显示在MDI窗体上,而不是在子窗体本身。当子窗体有焦点时,该子窗体的菜单就代替菜单上的MDI窗体的菜单。如果没有可见的子窗体,或者如果带有焦点的子窗体没有菜单,则显示MDI窗体的菜单。
MDI应用程序经常使用几套菜单。当打开一个文档时,应用程序显示与该类文档相关的菜单,通常,当没有可见子窗体时,会显示一个不同的菜单。例如,当没有文件打开时,Microsoft Excel只显示"文件"与"帮助"菜单。当用户打开一个文件时,其他菜单就会显示出来。
(1)创建MDI应用程序的菜单
通过给MDI窗体和子窗体添加菜单控件,可以为VB应用程序创建菜单。管理MDI应用程序中菜单的一个方法是把希望在任何时候都显示的菜单控件放在MDI窗体上。当运行该应用程序时,如果没有可见的子窗体,会自动显示MDI窗体菜单。
把应用于子窗体的菜单控件放置到子窗体中。在运行时,只要有一个子窗体可见,这些菜单标题就会显示在MDI窗体的菜单栏中。
有些应用程序支持多种类型的文档。要在VB中创建这样的应用程序,应使用两个子窗体。设计一个带有执行工作单任务菜单的子窗体和加一个带有完成图表任务菜单的子窗体。在运行时,当工作单窗体的实例有焦点时,则显示工作单菜单,而当选取图表时则显示图表窗体的菜单。如果所有的工作单和图表都关闭,则显示MDI窗体的菜单。
【VB考试教程:多文档界面(MDI)的程序设计】相关文章:
2025年外省高中学业水平合格性考试成绩转入江苏认定的通告公布03-23
2012宁夏高考报名方式03-23
Vb中控件的自动排列03-23
写未来的作文300字03-23
Our Mother Is the Same 我们的妈妈是一样的03-23
小学父爱的作文600字03-23
2018国家电网新大纲财会类市场模拟卷多选题(二)03-23
荷花作文600字03-23
广西壮族自治区财政厅会计继续教育报名登录入口:https://czt.gxzf.gov.cn/kjgl/03-23
07年4月北师大“中国古代文学史(一)”串讲(5)03-23
寓言作文300字03-23
汪涵讲述小时候成长经历:鸡毛掸子的故事03-23
