VB考试教程:多文档界面(MDI)的程序设计

文章作者 100test 发表时间 2007:03:10 18:32:12
来源 100Test.Com百考试题网


三、多文档界面(MDI)的程序设计  

多文档界面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窗体的菜单。


相关文章


全国计算机等级考试二级Java模拟试题7
VB考试教程:多文档界面(MDI)的程序设计
VB考试教程:多窗体程序设计
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛