工具栏(也称为发条或者控制栏)已经成为许多基于 Windows 的应用程序的标准功能。工具栏提供了对于应用程序中最常用的菜单命令的快速访问。使用 ToolBar 控件来创建工具栏非常容易且很方便,它在 Visual Basic的专业版与企业版中是可用的。如果使用的是 Visual Basic 学习版,则可以象本章后面的“协调菜单与工具栏的外观”所描述的那样用手工来创建工具栏。
下列示例演示为 MDI 应用程序创建工具栏的过程;在标准窗体上创建一个工具栏的过程基本上一样。
要手工创建工具栏,请按照以下步骤执行:
图片框的宽度会自动伸展,直到填满 MDI 窗体工作空间。工作空间就是窗体边框以内的区域,不包括标题条、菜单栏、或所有的工具栏、状态栏、或者可能在窗体上的滚动条。
注意 只能把那些直接支持 Align 属性的控件放置在 MDI 窗体上(图片框是支持这一属性的唯一的标准控件)。
典型地,用 CommandButton 或 Image 控件来创建工具栏按钮。图 6.16 示出了一个含有 Image 控件的工具栏。
要在图片框中添加控件,单击工具栏中的控件按钮,然后在图片框中画出它。
注意 当 MDI 窗体中包含了图片框时,该 MDI 窗体的内部区域不包括图片框在内。例如:MDI 窗体的 ScaleHeigh 属性返回 MDI 窗体的内部高度,这个高度已不包括图片框的高度。
图 6.16 用 Image 控件来创建工具栏按钮
使用工具栏的一个好处是可以显示一个形象的命令图示。Image 控件是作为工具栏按钮的一个很好的选择,因为可以用它来显示一个位图。在设计时设置其 Picture 属性来显示一个位图;这样,当该按钮被单击时,即能提供一个命令执行的可见信息。也可以通过设置按钮的 ToolTipText 属性来使用工具提示,这样,当用户把鼠标指针保持在一个按钮上时,就可以显示出该工具栏按钮的名称。
因为工具栏频繁地用于提供对其它命令的快捷访问,因而在大部分时间内都是从每一个按钮的 Click 事件中调用其它过程,比如对应的菜单命令。
提示 可用一个不显示工具栏的 MDI 窗体来使用在运行时不可见的控件(比如 Timer 控件)。为了做到这一点,在 MDI 窗体上放置一个图片框,把控件放到图片框中,然后把图片框的 Visible 属性设置为 False。
工具栏用于提供访问某些应用程序命令的快捷方法。例如:图 6.16 中工具栏上的第一个按钮就是“新建文件”命令的快捷键。现在,可以在 MDI NotePad 示例应用程序中三个地方请求创建新文件。
与其把这个代码重复三次,还不如从子窗体的 mnuFileNew_Click 事件取出原代码,然后把它放入子窗体的一个公用过程中。可以从上面任何一个事件过程调用这个过程。以下是一个示例:
'
这个例程在公共过程中。Public Sub FileNew ()
Dim frmNewPad As New frmNotePad
frmNewPad.Show
End Sub
'
在子窗体的“文件”菜单上选取“新建”。Private Sub mnuchildFileNew_Click ()
FileNew
End Sub
'
在MDI
窗体的“文件”菜单上选取“新建”。Private Sub mnumdiFileNew_Click ()
frmNotePad.FileNew
End Sub
'
在工具栏上单击“新建文件”按钮。Private Sub btnFileNew_Click ()
frmNotePad.FileNew
End Sub