VB讲课笔记10:菜单与对话框

VB讲课笔记10:菜单与对话框

一、用户界面设计基础

用户界面是应用程序最基本的组成部分,其内容包括界面基本元素的外观设计和实现相应功能的代码编制。

  1、用户界面元素(User Interface Element)

  窗体是用户界面元素的容器,新建的窗体并不包含菜单栏、工具栏和状态栏等元素。窗体及其控制栏、标题栏、菜单栏、工具栏、控件和状态栏是Windows用户界面的基本元素。

  2、对话框(Dialog Box)

  对话框是应用程序与用户交互的重要手段,对话框也是窗口。通常,它不具有最大化或最小化按钮,也不具的控制菜单。对话框可以自行设计,也可使用VB提供的对话框。         

        3、菜单(Menu)

  菜单设计就是为应用程序建立一套完整的菜单系统,主要工作包括两个方面:一是菜单项的设置与组织,二是菜单项功能的实现。在VB中,菜单设计可以通过菜单编辑器来完成。

  4、工具栏(ToolBar)

  工具栏通常以图标的方式显示应用程序最最用的功能。可以利用VB提供的ToolBar控件来制作工具栏,也可以利用图形框和命令按钮来制作工具栏。

  5、状态栏(StatusBar)

    状态栏用于描述应用程序当前的状态、按键状态、操作对象以及环境信息等。可以利用VB提供的StatusBar 控件来实现应用程序的状态栏设计。

二、菜单设计

    VB中的菜单也属于控件,同样具有定义外观和行为的各种属性。但菜单控件只能响应Click事件。

1、菜单基本类型(Menu Types)

(1)弹出式菜单(Popup Menu)

        弹出式菜单又称为快捷菜单或右键菜单,只要在某个对象上单击鼠标右键,就会弹出快捷菜单。针对不同的对象或区域单击右键,弹出菜单的内容可能不同。例如在VB的菜单栏中弹出的菜单与窗体设计器中弹出的菜单是不同的。

(2)下拉菜单(Dropdown Menu)

        在应用程序窗口中单击菜单标题,就可打开下拉式菜单。在下拉式菜单系统中,一般有一个或多个主菜单,其中包括一个或多个选项。当单击一个菜单标题时,一个包含若干菜单项的菜单被打开,这些菜单项被称为子菜单或菜单命令。在Windows应用程序中,最多可出现6级子菜单,凡是包含子菜单的菜单项后面都带有一个小的三角符号,只要将鼠标指针指向该菜单上,就会出现下级子菜单;有的菜单项后带“…”,表示选择该菜单项会打开一个对话框;有的菜单项前带“√”,表示该菜单命令是一个选项菜单,并正在起作用。当某个菜单项为浅灰色时,表示该菜单命令在目前情况下不起作用。

2、菜单编辑器(Menu Editor)

菜单控件不在工具箱中,创建菜单的工作需要在菜单编辑器中进行。

(1)四种打开菜单编辑器的方法
① 单击“工具”菜单中的“菜单编辑器”
② 右键单击VB窗体的空白处,在快捷菜单中选择“菜单编辑器”
③ 单击VB工具栏中“菜单编辑器”按钮 
④ 按组合键Ctrl + E。

(2)演示菜单编辑器


单击【确定】按钮,单击【编辑】菜单:


3、菜单常用属性

 “菜单编辑器”对话框中,在输入框中输入的所有数据均为某个菜单项的属性。

属性名

说明

标题

菜单项的标题,类似控件的Caption属性。必须输入。

名称

菜单项的名称,类似控件的Name属性。必须输入。

索引

设置菜单控件数组的下标。类似控件数组的Index属性。

快捷键

设置驱动该菜单命令的快捷方式。如Ctrl + F。

复选

选中,为True,相应菜单项前面带“√”,表示该菜单是选项菜单。

有效

若不选,为False,菜单项为浅灰色,表示目前状态下暂时不能使用。

可见

若不选,为False,相应的菜单项为不可见。

←、→

调整菜单项的级别。←为上一级,→为下一级

↑、↓

调整菜单项的位置。↑为调到前一位置,↓为调到后一位置。

下一个

进入下一个菜单项的设计。

插入

在光标所在处插入一个菜单项。

删除

删除光标所在处的菜单项



下拉菜单快捷键有以下几种类别:

(1)Ctrl + A —— Ctrl + Z

(2)F1——F12


(3)Ctrl + F1 —— Ctrl + F12


(4)Shift + F1 —— Shift + F12

(5)Ctrl + Shift + F1 —— Ctrl + Shift + F12


(6)其它

由此可见,快捷键不能是单个普通字母。
因此,本题选择C。


4、菜单项事件过程


5、演示下拉菜单与快捷菜单



添加一个文本框:


如果程序运行时,希望在文本框里单击右键弹出自定义的编辑菜单,那么就需要编写文本框Text1的MouseDown事件过程:


运行程序,在文本框里单击鼠标右键:


三、对话框设计

    对话框是一个特殊的窗口,通常它不具有最大化或最小化按钮,也没有控制菜单,但它提供了应用程序与用户交互的功能。VB的对话框包括通用对话框和用户自行设计的对话框。

(一) 通用对话框

    通用对话框(CommonDialog)控件提供了一组标准对话框界面,包括打开文件、保存文件、选择颜色、选择字体、设置打印机和帮助等六个对话框。这些对话框只能返回用户输入、选择或确认的信息,要实现诸如文件打开、保存文件、设置颜色等操作,还必须编写相应的代码才能实现。

1、添加通用对话框控件

        通用对话框(CommonDialog)属于ActiveX控件。该控件不在工具箱中,要使用它,必须先将其添加到工具箱中。添加操作可以通过“工程”菜单下的“部件”命令或右击工具箱出现快捷菜单中的“部件”命令来实现。打开“部件”对话框,选中“Microsoft Common Dialog 6.0”,单击“确定”按钮,就会将通用对话框按钮添加到工具箱中。


 

单击【确定】按钮,你会发现工具箱里多了一个图标:


2、使用通用对话框

在设计状态下,通用对话框控件显示为一个在运行时不可见的图标。在程序运行状态下,可以通过设置其Action属性或使用其Show方法来打开需要的某种对话框。通用对话框控件的Action属性值及相应的Show方法如下表所示。

Action属性

Show方法

说明

1

ShowOpen

显示文件打开对话框

2

ShowSave

显示另存为对话框

3

ShowColor

显示颜色对话框

4

ShowFont

显示字体对话框

5

ShowPrinter

显示打印对话框

6

ShowHelp

显示帮助对话框

除了Action属性外,通用对话框具有以下主要共同属性。
        ① CancelError属性

        该属性针对对话框中“取消”按钮,用于向应用程序表示用户想取消当前操作。当该属性设置为 True 时,只要单击“取消”按钮,通用对话框就会自动地将错误对象Err.Number设置为32755 (cdlCancel),以便程序判断。若设置为False,单击“取消”按钮时不产生错误信息。

       

        ② DialogTitle属性
        该属性设置对话框标题栏中显示的字符串。只对“打开”和“另存”对话框有效。
        ③ Flags 属性

        该属性可以修改每个具体对话框的默认操作,不同类型的对话框具有不同的Flags属性值,使用时可通过VB中“帮助”功能进行搜索。 

        

3、“打开”与“另存为”对话框

“打开”对话框用于选定将要打开的文件;“另存为”对话框用于指定文件将要保存的位置及保存时使用的文件名     “打开”与“另存为”对话框的常用属性除了前面提到的三个共有属性外,还有下表所示属性:

属性

说明

FileName

用于设置对话框中“文件名称”的默认值,并返回用户选中的文件名

FileTitle

用于设置对话框标题,默认值为“打开”或“另存为”

Filter

用于设置在对话框的“文件类型”列表框中的文件过滤器。语法格式:

通用对话框名.Filter="描述1|匹配表达式1[|描述2|匹配表达式2[|…]"

例如:Dialog1.Filter = Word文档(*.doc)|*.doc|所有文件(*,*)|*.*

对话框的文档类型列表为:Word文档(*.doc)和所有文件(*,*)

FilterIndex

设置默认的文件过滤器,属性值为整数,表示Filter属性中各个值的序号。

例如,FilterIndex属性值为1,表示将Filter属性中的第一个值作为默认的文件过滤器。

InitDir

设置初始的文件目录。若缺省,默认为当前目录。

DefaultExt

设置文件默认的扩展名。在保存没有扩展名的文件时,自动为文件添加由DefaultExt属性设置的扩展名。



案例演示:参看本博 VB案例:简易记事本


修改文件内容,单击文件菜单下的另存为...





4、颜色对话框

CommonDialog控件的“颜色”对话框的主要作用是返回用户选择的颜色。CommonDialog控件的ShowColor方法,可以打开如图所示“颜色”对话框。 


Color属性是“颜色”对话框最重要的属性,它返回一个长整型的颜色值。用该颜色值可以设置VB对象的前景和背景颜色。 


案例演示:



5、字体对话框

CommonDialog控件的“字体”对话框用来设置并返回所用字体的名字、字形、字号、颜色。“字体”对话框如图所示:


属性

说明

取值

示例

FontName

选定的字体名称

字体描述字符串

"黑体"

FontSize

选定的字体大小

数值

小四号

FontBold

选定粗体

True / False

Bold

FontItalic

选定斜体

True / False

Italic

FontUnderline

选定下划线

True / False

Underline

FontStrikethru

选定删除线

True / False

Strikethru

这些属性的使用方法是用赋值语句直接引用。例如,要根据“字体”对话框返回的值设置文本框的字体,则直接采用语句:Text1.Font = CommonDialog.FontnName。注意:在显示“字体”对话框前,必须先将 Flags 属性设置为 cdlCFScreenFonts,cdlCFPrinterFonts,或 cdlCFBoth。否则,会发生字体不存在的错误。 


案例演示:




6、打印对话框

当CommonDialog控件的Action属性值为5时(或使用ShowPrinter方法),可以打开如图7.6所示“打印”对话框。在“打印”对话框中,用户可以设置打印机的类型、选择打印的范围以及打印的份数等,还可以进一步设置打印机的属性。


案例演示:



(二)自定义对话框

自定义对话框的创建,通常先使用VB提供的模板,然后再根据需要设计对话。

案例演示: