《vb第八章菜单和通用对话框》由会员分享,可在线阅读,更多相关《vb第八章菜单和通用对话框(32页珍藏版)》请在金锄头文库上搜索。
1、第二十讲 菜 单,Visual Basic 程序设计教程,内蒙古科技大学工程训练中心 韩 艳,工程训练中心,,9.1 菜单,菜单的种类:下拉式菜单、弹出式菜单 9.1 下拉式菜单 1、下拉式菜单结构 结构 : 主菜单栏、各级子菜单; 子菜单又分为:菜单命令或选项、子菜单标题和分隔条; 菜单命令或选项:可以直接执行; 子菜单标题:可以再拉出一级菜单; 分隔条:用于对于子菜单项进行分组; 2、设计下拉式菜单 进入菜单编辑器: 执行”工具“菜单的”菜单编辑器“按钮; 直接执行热键(快捷键) Ctrl+E; 单击”工具栏“上的”菜单编辑器”; 在要建立菜单的窗体上单击鼠标右键,打开快捷菜单,执行“菜单
2、编 辑器”;,工程训练中心,,9.1 菜单,9.1 下拉式菜单 “菜单编辑器”属性区:,工程训练中心,,9.1 菜单,9.1 下拉式菜单 “菜单编辑器”属性区: 说明: “名称”属性是菜单项的必要属性,必须给定; 在输入菜单标题时在某个字母前输入一个&符号。该字母就成了热 键,在窗体上显示时该字母带有下划线,操作时用Alt+该字母就激活 菜单或执行该菜单命令; 分隔符:在菜单的标题栏输入“”号,则菜单显示时形成一个分隔符,工程训练中心,,9.1 菜单,9.1 下拉式菜单 “菜单编辑器”编辑区: “”:每单击一次该按钮,产生”.”,称为内缩号,用来确定菜单项的层 次,每单击一次,菜单项下移一个等
3、级; “”:把选定的菜单上移一个等级; “:把选定的菜单在同级菜单内向上(前)移动一个位置; “”:把选定的菜单在同级菜单内向下(后)移动一个位置; “下一个”:开始一个新的菜单项(命令); “插入”:在当前的菜单项前插入一个新的菜单项; “删除”:删除当前的菜单项 “菜单编辑器显示区”: 该区域显示了所创建的菜单,并通过“.”指明了它们的层次。,工程训练中心,,9.1 菜单,9.1 下拉式菜单 例9-1利用菜单命令,控制标签的显示和隐藏,Private Sub m_11_Click() Label1.Visible = True End Sub Private Sub m_menu1_Cli
4、ck() Label1.Visible = False End Sub,菜单中每一个菜单命令都是一个控件,设计时只需在“菜单编辑器”来设置相关属性即可,当然执行某一菜单命令的处理过程需编程来完成。没有子菜单的菜单命令均能响应click事件,它是菜单控件的唯一事件。,工程训练中心,,9.1 菜单,9.1 下拉式菜单 例9-2设计一个应用程序,通过菜单完成两个整数的加减运算。,Private Sub add_Click() Label1.Caption = “+“ Label3.Caption = Val(Text1.Text) + Val(Text2.Text) End Sub Private
5、Sub sub_Click() Label1.Caption = “-“ Label3.Caption = Val(Text1.Text) + Val(Text2.Text) End Sub,工程训练中心,,9.1 菜单,9.1 下拉式菜单 动态菜单的设计 动态菜单是指菜单项或菜单命令在程序的运行过程中有增有减; 可设计一个菜单控件数组,即同一菜单上享有相同的名称和事件过程的 一组菜单项(命令)的集合,通过菜单控件数组的下标来访问该数组中的 某一个具体菜单项或菜单命令。 使用load方法在菜单控件数组中增加一个新的菜单项(命令),也可以 用Unload方法从菜单控件数组中删除一个菜单项。,工程
6、训练中心,,9.1 菜单,9.1.1 下拉式菜单 动态菜单的设计 例9-3才菜单中动态添加“乘法”和“除法”操作。 解题思路:当单击窗体时,调用load方法,利用控件数组appendcal为菜单 增加两个子菜单;当双击窗体时,调用unload方法将新增的两个子菜单删除。 Appendcal_click事件是新增的两个菜单的共用事件,当作乘法操作时,参 数index的值为1,作除法时为2。,工程训练中心,,9.1 菜单,9.1.2 弹出式菜单 弹出式菜单独立于菜单栏,直接显示在窗体上; 弹出式菜单通常是单击鼠标右键打开,又称为”右键菜单“或”快捷菜单“; 创建方法: 在”菜单编辑器“中,对最高一
7、级菜单的”可见“属性设置为”False“,然后 调用PopupMenu方法将其作为快捷菜单显示出来。 格式: 对象名.PopMenu 菜单名,flags,X,Y,DefaultMenu 其中: 对象名:可选项,默认为当前窗体; 菜单名:必选项,要显示的弹出式菜单名,是在菜单编辑器中定义的 主菜单标题,该主菜单标题至少含有一个子菜单; flags:可选项,是一个数值或符号常量,用于指定弹出式菜单的位置 和行为;,工程训练中心,,9.1 菜单,9.1.2 弹出式菜单 Flags取值表: Flags参数由每组值选取一个数字相加而成。,指定菜单行为:,指定菜单位置:,工程训练中心,,9.1 菜单,9.
8、1.2 弹出式菜单 x,y:指定显示弹出式菜单的x坐标和y坐标,省略时为鼠标的当前坐标; DefaultMenu:指定弹出式菜单中要显示为黑体的菜单控件的名称,省略 时,则弹出式菜单没有以黑体字出现的菜单项; 在显示弹出式菜单时,一般把PopupMenu方法放在MouseDown事件中,该事件响应所有的鼠标单击事件。 通过鼠标右键打开弹出式菜单,可以用Button参数来判断,左键的Button参数为1,右键的Button参数为2。 Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As
9、Single) If Button = 2 Then PopupMenu 菜单项名 End Sub,工程训练中心,,9.1 菜单,9.1.2 弹出式菜单 例9-4在上例的基础上将”运算“菜单作为弹出式菜单显示。,工程训练中心,,9.1 菜单,9.1.2 弹出式菜单 例9-5设计一个弹出式菜单,工程训练中心,,9.2 对话框,VB系统提供的对话框: 预定义对话框:即由InputBox或MsgBox函数创建的对话框; 通用对话框:用CommonDialog控件创建,如“打开对话框”、“字体”对话 框等 ; 用户自定义对话框:用户根据自己的需要在窗体上添加各种控件来构成 自己需要的对话框; 9.2.
10、1 通用对话框 VB系统提供的基于Windows的通用对话框: “打开”对话框(Open) “另存为”对话框(Save) “颜色”对话框(Color) “字体”对话框(Font) “打印机”对话框(Printer) “帮助”对话框(Help),工程训练中心,,9.2 对话框,9.2.1 通用对话框 1、添加通用对话框控件 方法:系统菜单“工程”“部件”, 选择“Microsoft Common Dialog Control 6.0”,通用对话框控件,注:通用对话框在程序运行后不可见,故在设计时可将其放置在窗体的任何 地方,工程训练中心,,9.2 对话框,9.2.1 通用对话框 2、通用对话框的
11、属性 在窗体上添加通用对话框后,可在属性窗口中单击“自定义”的按钮或者 用鼠标右键单击对话框控件,打开“属性”选项。 3、通用对话框的使用 通过设置不同的Action属性值(只能在程序中设置)或调用不同的方法 来决定对话框的类型,工程训练中心,,9.2 对话框,9.2.1 通用对话框 (1)“打开”对话框 程序运行后,将Action属性值设置为1或调用ShowOpen方法,即可弹出 “打开”对话框。 在“打开”对话框中,可指定要打开文件的路径、文件名和文件类型。,DialogTitle,FileName,InitDir,Filter,Flags,DefaultExt,MaxFile Size,
12、FilterIndex,CancelError,工程训练中心,,9.2 对话框,9.2.1 通用对话框 “打开”对话框属性值: “对话框标题”DialogTitle 用途:用于设置对话框的标题; “文件名称”FileName 用途:用于设置打开对话框显示的初始文件名。若在对话框中选择了 一个文件并单击“打开”或“保存”按钮,则选择的文件(包含路径) 即为FileName属性的值; “初始化路径”InitDir 用途:用于指定打开对话框的初始路径,若没有指定该属性,则使用 当前路径;,工程训练中心,,9.2 对话框,9.2.1 通用对话框 “打开”对话框属性值: “过滤器”Filter 用途:用
13、于指定在对话框的文件类型列表框中所要显示的文件类型。 如:选择过滤器为*.txt,表示显示所有的文本文件。 通常给每个过滤器一个描述,使用管道符号”|”将过滤器描述和过滤 器隔开;如:下列代码用于设置一个过滤器,其允许打开“文本文件 (*.txt)、或含有位图和JPG图形的文件(*.bmp;*.jpg): 文本文件(*.txt) | *.txt | 图形文件(*.bmp;*.jpg) | *.bmp;*.jpg,描述,过滤器,描述,过滤器,“过滤器索引”FilterIndex 用途:当为对话框指定了一个以上的过滤器时,用于确定哪个过滤器作为缺省过滤器。第一个过滤器索引值为1,第二个为2,依此类
14、推。,工程训练中心,,9.2 对话框,9.2.1 通用对话框 “打开”对话框属性值: “标志”Flags 用途:用于确定对话框的一些特性,如是否允许同时选择多个文件等。 “缺省扩展名” DefaultExt 用途:当对话框用于保存文件时,如果文件没有指定扩展名,则使用该 属性指定的缺省扩展名,如:*.txt,*.doc等 “文件最大长度”MaxFile Size 用途:用于指定文件的最大长度,单位为字节; “取消引发错误” CancelError 用途:用于确定运行时在对话框中按”取消“时是否出错。选择该项,相 当于CancelError设为true,按”取消“出错,否则,不出错。,工程训练中
15、心,,9.2 对话框,9.2.1 通用对话框 例9-6在窗体上画一个名称为command1的命令按钮,标题为”打开文件“,再画一个名称为CD1的通用对话框。程序运行后,若单击命令按钮,则弹出打开文件对话框,并按下列要求设置属性和代码: 设置适当属性,使对话框的标题为”打开文件“,初始目录为c盘根目录; 设置适当属性,使对话框的”文件类型“下拉式组合框中有二行:”Word文 档“、”所有文件“,默认的是”所有文件“; 编写命令按钮的事件过程,使得单击按钮可以弹出”打开文件“对话框; 思路: 首先,条件、是在对话框属性窗口上配置参数,可在对话框属性窗口内填写”对话框标题“、”初始化路径“的相应内容; 其次,过滤器的内容为:Word文档|*.doc|所有文件|*.*;且根据题意,过滤器索引值设为2; 另,条件是指编写代码,调用通用对话框,可采用如下程序代码: cd1.action=1 或者 cd1.showopen 均可,工程训练中心,