第10章 菜单与工具栏设计

更新时间:2023-06-01 02:33:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第10章 菜单与工具栏设计10.1 菜单设计10.2 工具栏设计 10.3 状态栏设计

10.1 菜单设计在工程中添加菜单的操作非常简单,VB提供一个菜单编辑器,只 要依照Windows菜单的准则,很容易地创建一个地递阶式的菜单系统。 10.1.1 菜单控件 菜单(Menu)是Windows窗口的标准控件,它显示应用程序的自 定义菜单。菜单系统一般是由菜单栏、菜单标题、下拉菜单以及子菜 单组成。 在实际的应用当中,为了方便对菜单的操作,可以在菜单里面定义快 捷键和热键。

在VB中菜单被看作是一种特殊类型的控件,菜单中的每一个菜单命令又都是 独立菜单控件对象。菜单控件常用的属性如下:1. Caption属性 4. Index属性

菜单标题或菜单命令显示的文字,可以在这个 属性中使用“&”字符来定义菜单标题和菜单命 令的快捷键。如果一个菜单命令的该属性为“-” (连字符),那么它会显示为菜单中的分隔条。2. Checked属性 菜单命令前面是否显示切换状态的复选标志, 为True时,菜单命令前面显示复选标志,为 False时,不显示。默认值为False。 3. Enabled属性 决定菜单命令是否可用,默认值为True,代表可 用。当此属性的值为False时,菜单中对应项以 灰色显示,不能被使用。

使用菜单控件数组的标记,Index属性的值就是 菜单控件数组元素的下标值。5. Name属性 菜单控件的名称。为菜单控件命名时要遵照相 应的约定,子菜单的菜单命令名称要能反映父 菜单的控件对象名称。 6. Shortcut属性 菜单命令的热键,运行时只读。

7. Visible属性决定菜单是否可见的属性。当属性值为False时, 菜单被隐藏,为True时,菜单可见。默认值为 True。

10.1.2 下拉式菜单VB中设计菜单系统的工作是在菜单编辑器中完成的(见图10-1), 使用VB的菜单编辑器可以为窗体创建出非常专业的菜单系统。 可以通过以下几种方法打开菜单编辑器: (1)使用集成环境中“工具”菜单里的“菜单编辑器”菜单命令; (2)使用“标准”工具栏上的“菜单编辑器”按钮; (3)使用鼠标右键单击对象窗口中的窗体对象,从弹出的快捷菜单中选 择“菜单编辑器”。

10.1.2 下拉式菜单“菜单编辑器”窗口一般分为3个部分:属性区、编辑区和显示区。

1.属性区该区位于窗口的上半部,主要用于输入或修改某一菜单项或菜单命 令的各种常用属性。

2.编辑区该区域位于“菜单编辑器”窗口的中部,由7个按钮组成,主要用来 对输入的菜单项(命令)进行简单编辑。

3.显示区该区域位于“菜单编辑器”窗口的下方。该区域显示所有创建了的 菜单项(命令),并通过内缩符号(‥‥ )指明了它们的层次。高亮度 光条所在

的菜单为当前菜单项(命令)。

10.1.3 动态菜单用“菜单编辑器】创建、定义完毕的菜单,在程序运行过程中并非就一成 不变。用户可以根据实际运行情况动态地调整和控制菜单的使用,给菜单增加 一些灵活性。如当某菜单项执行的操作不适合当前环境时,可以暂时使其失效 或干脆将其隐藏起来,就像根本没有这个菜单项一样。当需要时也可以向菜单 中添加或删除某菜单项。 注意,隐藏或再现菜单项并不能真正地改变菜单的数量,要使菜单项真 正地、动态地增减(从内存中),就应首先建立一个菜单控件数组,并通过 Load和UnLoad语句来实现。

10.1.4 弹出式菜单在很多的应用程序当中,为了操作的方便往往设计了快捷菜单, 即弹出式菜单。当在应用程序的窗体或者控件上右击鼠标时就会弹出快 捷菜单。弹出式菜单是独立于菜单栏显示在窗体或指定控件上的浮动菜 单,菜单的显示位置与鼠标所在位置有关。在VB中窗体对象的 PopupMenu方法,可以在窗体上实现弹出式菜单。语法格式如下: Object.PopupMenu <菜单控件名> [,flags[,x[,y[,Boldcommand]]]]

10.1.4 弹出式菜单PopupMenu方法所调用的菜单控件应该是使用菜单编辑器为窗体设计的 菜单系统中的一个有子菜单的菜单控件对象名。X,Y参数代表弹出式菜单的 显示位置坐标,如果省略这两个参数,弹出式菜单显示在鼠标指针所在位置。 Flags参数代表弹出式菜单的位置及性能。因此Flags参数的设置分为两类,如 表10-4所示。 Flags参数总是同时代表着两类参数,是位置参数和性能参数的和值。 Boldcommand参数位置上的菜单项会以粗体显示出来。 一般的弹出式菜单是在按下鼠标右键时弹出,所以PopupMenu方法一般 是放在MouseDown事件过程中,根据按下的是鼠标左键还是右键来决定是否 弹出菜单。

10.1.4 弹出式菜单分类 值 常 量 说 明

0

vbPopupMenuLeftAlign

弹出式菜单的左边与参数X对齐(默认值)

位置

4

vbPopupMenuCenterAlign

弹出式菜单以参数X为中心

8

vbPopupMenuRightAlign

弹出式菜单的右边与参数X对齐

0 性能 2

vbPopupMenuLeftButton

只能用鼠标左键触发弹出式菜单(默认值)

vbPopupMenuRightButton

鼠标左右键都能触发弹出式菜单

10.1.4 弹出式菜单【例10-3】为例【例10-2】添加一个文本框中的弹出式菜单,该菜单包含有 “红色”、“蓝色”和“绿色”3个选项。单击相应的选项后可以改变文本框 中文字的颜色。如图10-4所示。 设计步骤:在【例10-2】中通过“菜单编辑器”在已有的菜单栏中添加一个标 题为“颜色”名为“Color”的主菜单。向其中添加“红色”(Red)、“蓝色” (Blue)、“绿色”(Green)的3个菜单项。注意

:一定要将顶级菜单的 “可见”属性设为False(将“可见”前面的“√”去掉,使其不可见)。

向程序中添加如下代码:

'文本框中鼠标按下时执行的代码 Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then End If End Sub '如果用户在文本框中单击了右键,弹出快捷菜单 PopupMenu Color, 4 Or 2 'flags的两个参数值通过Or运算符连接

Private Sub Red_Click()Text1.ForeColor = vbRed End Sub Private Sub Blue_Click() Text1.ForeColor = vbBlue End Sub Private Sub Green_Click() Text1.ForeColor = vbGreen End Sub

10.2 工具栏设计

工具栏为用户提供了对于应用程序中最常用的菜单命令的快速访问, 增强了应用程序菜单系统的可操作性。工具栏的制作有两种方法:一是 使用命令按钮和图形框来手工制作;另一种方法是通过使用ToolBar控件 和ImageList控件来制作。前一种方法比较繁琐,较少使用。后一种方法 容易方便,在VB中常用后一种方法。要使用ToolBar控件、ImageList控 件以及后面的StatusBar控件,都必须先为工程加载“Microsoft Windows Common Controls 6.0”控件。

10.2 工具栏设计创建工具栏的一般步骤如下:

(1)在窗体中添加一个ToolBar控件,如果要在工具栏中的按钮上显示 图像,则还需添加一个ImageList控件。(2)在ImageList控件中添加工具栏按钮所需的图像。如果工具栏中的 按钮不需要显示图像,则跳过这一步。 (3)在ToolBar控件中创建Button对象。 (4)在工具栏的ButtonClick事件中对各按钮进行代码编写。

10.2.1 使用ImageList控件ImageList控件不单独使用,它的功能是为其它控件提供图像库。工具 栏按钮的图像就是ToolBar控件从ImageList控件的图像库中获得。 1.“通用”标签:在这里可以设置ImageList装载的图像的大小,一般的 工具栏按钮使用的图像的大小为16×16。

2.“图像”标签:其中“索引”表示每个图像的编号,在ToolBar的按 钮代码中可以引用;“关键字”表示每个图像的标识名称,在ToolBar的按 钮代码中可以引用;“插入图片”命令按钮的作用是向ImageList控件中添 加图像,图像文件的类型可以为.ico、.bmp、.gif和.jpg等。“删除图片” 命令按钮的功能是将图像列表框中选定的图像移出Imagelist控件。3.“颜色”标签:设置ImageList控件对象与颜色相关的属性。

10.2.2 使用ToolBar控件 使用ToolBar控件创建的工具栏中可以有多个按钮,如果要在按钮上显示图 像,这些图像来自ImageList对象中插入的图片。

10.2.3 ToolBar控件的事件ToolBar控件的常用事件有两个,一个是工具栏上按钮的ButtonClick事件, 另一个是菜单按钮的ButtonMenuClick事件。在VB中, ToolBar控件中的按 钮是用控件数组来管

理的,按钮控件的“索引”(Index)属性或者是“关 键字”(Key)属性都可以作为区分数组元素的标识。使用Select Case语句就 能完成工具栏的事件代码。

10.3 状态栏设计通常在应用程序主窗体的底部都有一个称为状态栏的长方条,一般用 来显示系统信息和提示信息,在VB中使用StatusBar控件设计状态栏。 10.3.1 建立状态栏 从图10-5所示的控件工具箱中向应用程序窗体中添加一个StatusBar 控件,适当的调整位置和大小,然后鼠标右击打开“属性页”对话框,选 择“窗格”选项卡。“索引”用来对状态栏中的窗格进行编号;“文本” 用来设置显示在窗格中的文本;“关键字”用来设置窗格对象的标识; “最小宽度”用来设定窗格的宽度;“插入窗格”命令按钮可以在状态栏 增加新的窗格,一个状态栏中最多可以有16个窗格;“浏览”命令按钮可 向窗格中插入图片;“样式”用来指定系统提供的显示信息,属性设置说 明如表10-8所示。

10.3.2 运行时改变状态栏状态栏的不同窗格对象代表了不同的功能,有些窗格功能系统已经 具备,如sbrDate和sbrTime属性窗格。还有些窗格对象的功能取决于应 用程序的状态和各控制键的状态,这就要通过编写代码在应用程序运行 时来实现。

本章小结本章主要介绍了VB中界面设计方面的知识,包括菜单、工具栏和状态栏 的使用。菜单包括弹出式菜单和下拉菜单,都需要在菜单编辑器中设计;工具 栏和状态栏则主要通过ToolBar和StatusBar控件来设计。本章通过一些实例来 对菜单、工具栏和状态栏加以综合应用,使读者在界面设计和应用程序开发两 方面都得到训练。

本文来源:https://www.bwwdw.com/article/jay1.html

Top