(3)建立并设计MDI子窗体
子窗体提供一个菜单对窗体中文本框的字体及大小进行设置,其设计及执行界面如图6-30所示。

图6-30 MDI子窗体设计及执行界面
创建一个新的普通窗体,然后将它的MDIChild属性设置为True。在其中放置一个文本框Text1,将其MultiLine属性设置为True。然后启动“菜单编辑器”编辑如下结构的菜单:
字体(font)
….宋体(font1(1))
….楷体(font1(2))
….隶书(font1(3))
….黑体(font1(4))
字体大小(size)
….24号字(size1(1))
….18号字(size1(2))
….14号字(size1(3))
….10号字(size1(4))
(4)编写代码
在子窗体中设计如下事件过程:
Private Sub font1_Click (Index As Integer)
Select Case Index
Case 1
Text1.FontName = "宋体"
Case 2
Text1.FontName = "楷体_GB2312"
Case 3
Text1.FontName = "隶书"
Case 4
Text1.FontName = "黑体"
End Select
End Sub
Private Sub size1_Click (Index As Integer)
Select Case Index
Case 1
Text1.FontSize = 24
Case 2
Text1.FontSize = 18
Case 3
Text1.FontSize = 14
Case 4
Text1.FontSize = 10
End Select
End Sub
在MDIForm1主窗体上设计如下事件过程:
Dim i As Integer
Private Sub Command1_Click ()
i = i + 1
Dim Newdoc As New Form1 ' 声明并创建一个Newdoc窗体变量
Newdoc.Caption = "第" + Str (i) + "个子窗体"
Newdoc.Show ' 显示子窗体
Label1.Caption = Str (Forms.Count - 1) + "个子窗体"
End Sub
Private Sub Command2_Click ()
MDIForm1.Arrange vbCascade
End Sub
Private Sub Command3_Click ()
MDIForm1.Arrange vbTileHorizontal
End Sub
Private Sub Command4_Click ()
MDIForm1.Arrange vbArrangeIcons
End Sub
Private Sub Command5_Click ()
Unload Me
End Sub
(5)运行程序
设置本工程的“启动对象”为MDIForm1,启动本工程,单击四次“新建”命令按钮,在MDI窗体中产生四个MDI子窗体。单击“平铺”按钮,运行界面如图6-31所示。可以看到在MDI父窗体上方出现子窗体的菜单。

图6-31 MDIForm1执行界面
在基于Windows操作系统的应用程序中,一般都是将最常用的命令以按钮的形式集合在一起,以便用户的操作,这就是工具栏。工具栏为用户提供了对应用程序中最常用的菜单命令的快速访问。
通过组合使用ToolBar、ImageList控件来建立工具栏的方法简单、快捷、容易学习。
StatusBar 图6-32 工具箱 ImageList ToolBar

建立工具栏的步骤:
(1)在ImageList控件中添加所需的图像
(2)在ToolBar控件中创建Button对象。
(3)在ButtonClick事件中用Select Case语句对各按钮进行相应的编程。
1.在ImageList控件中添加图像
ImageList控件包含了一个图像的集合,它专门用来为其他控件提供图像库。在利用ToolaBar控件制作工具栏时其中按钮的图像就是从ImageList的图像库中获得。
在窗体上添加ImageList控件后,选中该控件,其默认名为ImageList1 ,再单击右键,从弹出菜单中选择“属性”,然后在“属性页”对话框选择“图像”选项卡。如图6-33所示。
具体向ImageList控件中添加图像的操作是:单击“插入图片”按钮,这时会弹出“选定图片”对话框,通过对话框选定需要的一个图像文件,再单击“选定图片”对话框中的“打开”按钮,然后赋予该图像一个编号和一个标识名。重复上述过程,直到添加完毕,最后单击ImageList属性页中的“确定”按钮。
2.在ToolBar控件中添加按钮
ToolBar工具栏可以建立多个按钮。每个按钮的图像来自ImageList对象中插入的图像。
(1)为工具栏连接图像
在窗体上添加ToolBar控件后,右键单击该控件,打开“属性页”对话框,选择“通用”选项卡,如图6-34所示。其中,“图像列表”属性用来与ImageList控件建立连接。
(2)为工具栏增加按钮
选择“按钮” 选项卡,如图6-35所示界面。单击“插入按钮”,可以在工具栏上增加按钮。对话框中的主要属性如下:


图6-34 “通用”选项卡 图6-35 “按钮”选项卡
① 索引(Index)与关键字(Key):索引表示每个按钮的数字编号,关键字表示每个按钮的标识符。在ButtonClick事件中引用这两个属性值。
② 图像(Image):ImageList对象中的图像,它的值可以是图像的Index或 Key。
③ 值(Value):决定按钮的状态。0—tbrUnpressed为弹起状态,1—tbrPressed为按下状态。对样式1和样式2有用。
④ 样式(Style):表示按钮的样式,样式属性取值如表6-19所示。
表6-19 样式属性值及意义
|
值 |
常 数 |
按 钮 |
说 明 |
|
0 |
tbrDefault |
普通按钮 |
缺省值,按下按钮后恢复原状,如“新建”按钮 |
|
1 |
tbrCheck |
开关按钮 |
按下按钮后保持按下状态,如“加粗”等按钮 |
|
2 |
tbrButtonGroup |
编组按钮 |
在一组按钮中只能有一个有效,如对齐方式按钮 |
|
3 |
tbrSeparator |
分隔按钮 |
将左右按钮分隔开 |
|
4 |
tbrPlaceholder |
占位按钮 |
用来安放其它按钮,可以设置其宽度(width) |
|
5 |
tbrDropdown |
菜单按钮 |
具有下拉菜单,如Word中的“字符缩放”按钮 |
3.为ToolBar 控件中的按钮编写事件过程
ToolBar 控件常用的事件有两个:ButtonClick(对应按钮样式0-2)和ButtonMenuClick(对应按钮样式5)。
由于工具栏上的按钮为控件数组,故既可以用索引(Index属性),也可以用关键字(Key属性)来识别按钮,所以使用SelectCase语句完成代码编写。
下列的ButtonClick 事件代码分别用到按钮对象的索引(Index属性)和关键字(Key属性)。
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 1
FileNewProc ' 按下新建按钮,执行新建过程
Case 2
FileOpenProc ' 按下打开按钮,执行打开过程
……
End Select
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "TNew" ' 按下新建按钮,执行新建过程
FileNewProc
Case "TOpen" ' 按下打开按钮,执行打开过程
FileOpenProc
……
End Select
End Sub
工具栏设计效果如图6-36所示。