《VB程序设计第九章菜单.ppt》由会员分享,可在线阅读,更多相关《VB程序设计第九章菜单.ppt(31页珍藏版)》请在三一办公上搜索。
1、第九章 菜单,9.1 菜单,菜单的种类:下拉式菜单、弹出式菜单 9.1 下拉式菜单 1、下拉式菜单结构 结构:主菜单栏、子菜单栏;子菜单又分为:菜单命令或选项、子菜单标题和分隔条;菜单命令或选项:可以直接执行;子菜单标题:可以再拉出一级菜单;分隔条:用于对于子菜单项进行分组;2、设计下拉式菜单 进入菜单编辑器:执行”工具“菜单的”菜单编辑器“按钮;直接执行热键(快捷键)Ctrl+E;单击”工具栏“上的”菜单编辑器”;在要建立菜单的窗体上单击鼠标右键,打开快捷菜单,执行“菜单编 辑器”;,9.1 菜单,9.1 下拉式菜单“菜单编辑器”属性区:,9.1 菜单,9.1 下拉式菜单“菜单编辑器”属性区
2、:说明:“名称”属性是菜单项的必要属性,必须给定;在输入菜单标题时在某个字母前输入一个&符号。该字母就成了热 键,在窗体上显示时该字母带有下划线,操作时用Alt+该字母就激活 菜单或执行该菜单命令;分隔符:在菜单的标题栏输入“”号,则菜单显示时形成一个分隔符,9.1 菜单,9.1 下拉式菜单“菜单编辑器”编辑区:“”:每单击一次该按钮,产生”.”,称为内缩号,用来确定菜单项的层 次,每单击一次,菜单项下移一个等级;“”:把选定的菜单上移一个等级;“:把选定的菜单在同级菜单内向上(前)移动一个位置;“”:把选定的菜单在同级菜单内向下(后)移动一个位置;“下一个”:开始一个新的菜单项(命令);“插
3、入”:在当前的菜单项前插入一个新的菜单项;“删除”:删除当前的菜单项“菜单编辑器显示区”:该区域显示了所创建的菜单,并通过“.”指明了它们的层次。,9.1 菜单,9.1 下拉式菜单 例9-1利用菜单命令,控制标签的显示和隐藏,Private Sub m_11_Click()Label1.Visible=TrueEnd SubPrivate Sub m_menu1_Click()Label1.Visible=FalseEnd Sub,9.1 菜单,9.1 下拉式菜单 例9-2设计一个应用程序,通过菜单完成两个整数的加减运算。,Private Sub add_Click()Label1.Capti
4、on=+Label3.Caption=Val(Text1.Text)+Val(Text2.Text)End SubPrivate Sub sub_Click()Label1.Caption=-Label3.Caption=Val(Text1.Text)+Val(Text2.Text)End Sub,9.1 菜单,9.1 下拉式菜单 动态菜单的设计 动态菜单是指菜单项或菜单命令在程序的运行过程中有增有减;可设计一个菜单控件数组,即同一菜单上享有相同的名称和事件过程的 一组菜单项(命令)的集合,通过菜单控件数组的下标来访问该数组中的 某一个具体菜单项或菜单命令。使用load方法在菜单控件数组中增加
5、一个新的菜单项(命令),也可以 用Unload方法从菜单控件数组中删除一个菜单项。,9.1 菜单,9.1.1 下拉式菜单 动态菜单的设计 例9-3才菜单中动态添加“乘法”和“除法”操作。解题思路:当单击窗体时,调用load方法,利用控件数组appendcal为菜单 增加两个子菜单;当双击窗体时,调用unload方法将新增的两个子菜单删除。Appendcal_click事件是新增的两个菜单的共用事件,当作乘法操作时,参 数index的值为1,作除法时为2。,9.1 菜单,9.1.2 弹出式菜单 弹出式菜单独立于菜单栏,直接显示在窗体上;弹出式菜单通常是单击鼠标右键打开,又称为”右键菜单“或”快捷
6、菜单“;创建方法:在”菜单编辑器“中,对最高一级菜单的”可见“属性设置为”False“,然后 调用PopupMenu方法将其作为快捷菜单显示出来,格式:对象名.PopMenu 菜单名,flags,X,Y,DefaultMenu 其中:对象名:可选项,默认为当前窗体;菜单名:必选项,要显示的弹出式菜单名,是在菜单编辑器中定义的 主菜单标题,该主菜单标题至少含有一个子菜单;flags:可选项,是一个数值或符号常量,用于指定弹出式菜单的位置 和行为;,9.1 菜单,9.1.2 弹出式菜单 Flags取值表:,指定菜单行为:,若要同时指定菜单位置和行为,则将两个参数值用or连接:0 or 2,9.1
7、菜单,9.1.2 弹出式菜单 x,y:指定显示弹出式菜单的x坐标和y坐标,省略时为鼠标的当前坐标;DefaultMenu:指定弹出式菜单中要显示为黑体的菜单控件的名称,省略 时,则弹出式菜单没有以黑体字出现的菜单项;在显示弹出式菜单时,一般把PopupMenu方法放在MouseDown事件中,该事件响应所有的鼠标单击事件。通过鼠标右键打开弹出式菜单,可以用Button参数来判断,左键的Button参数为1,右键的Button参数为2。例9-4在上例的基础上将”运算“菜单作为弹出式菜单显示。例9-5设计一个弹出式菜单,9.2 对话框,VB系统提供的对话框:预定义对话框:即由InputBox或Ms
8、gBox函数创建的对话框;通用对话框:用CommonDialog控件创建,如“打开对话框”、“字体”对话 框等;用户自定义对话框:用户根据自己的需要在窗体上添加各种控件来构成 自己需要的对话框;9.2.1 通用对话框 VB系统提供的基于Windows的通用对话框:“打开”对话框(Open)“另存为”对话框(Save)“颜色”对话框(Color)“字体”对话框(Font)“打印机”对话框(Printer)“帮助”对话框(Help),9.2 对话框,9.2.1 通用对话框 1、添加通用对话框控件 方法:系统菜单“工程”“部件”,选择“Microsoft Common Dialog Control
9、6.0”,通用对话框控件,注:通用对话框在程序运行后不可见,故在设计时可将其放置在窗体的任何 地方,9.2 对话框,9.2.1 通用对话框 2、通用对话框的属性 在窗体上添加通用对话框后,可在属性窗口中单击“自定义”的按钮或者 用鼠标右键单击对话框控件,打开“属性”选项。3、通用对话框的使用 通过设置不同的Action属性值(只能在程序中设置)或调用不同的方法 来决定对话框的类型,9.2 对话框,9.2.1 通用对话框(1)“打开”对话框 程序运行后,将Action属性值设置为1或调用ShowOpen方法,即可弹出“打开”对话框。在“打开”对话框中,可指定要打开文件的路径、文件名和文件类型。,
10、DialogTitle,FileName,InitDir,Filter,Flags,DefaultExt,MaxFile Size,FilterIndex,CancelError,9.2 对话框,9.2.1 通用对话框“打开”对话框属性值:“对话框标题”DialogTitle 用途:用于设置对话框的标题;“文件名称”FileName 用途:用于设置打开对话框显示的初始文件名。若在对话框中选择了 一个文件并单击“打开”或“保存”按钮,则选择的文件(包含路径)即为FileName属性的值;“初始化路径”InitDir 用途:用于指定打开对话框的初始路径,若没有指定该属性,则使用 当前路径;,9.2
11、 对话框,9.2.1 通用对话框“打开”对话框属性值:“过滤器”Filter 用途:用于指定在对话框的文件类型列表框中所要显示的文件类型。如:选择过滤器为*.txt,表示显示所有的文本文件。通常给每个过滤器一个描述,使用管道符号”|”将过滤器描述和过滤 器隔开;如:下列代码用于设置一个过滤器,其允许打开“文本文件(*.txt)、或含有位图和JPG图形的文件(*.bmp;*.jpg):文本文件(*.txt)|*.txt|图形文件(*.bmp;*.jpg)|*.bmp;*.jpg,描述,过滤器,描述,过滤器,“过滤器索引”FilterIndex 用途:当为对话框指定了一个以上的过滤器时,用于确定哪
12、个过滤器作为缺省过滤器。第一个过滤器索引值为1,第二个为2,依此类推。,9.2 对话框,9.2.1 通用对话框“打开”对话框属性值:“标志”Flags 用途:用于确定对话框的一些特性,如是否允许同时选择多个文件等。”缺省扩展名“DefaultExt 用途:当对话框用于保存文件时,如果文件没有指定扩展名,则使用该 属性指定的缺省扩展名,如:*.txt,*.doc等“文件最大长度”MaxFile Size 用途:用于指定文件的最大长度,单位为字节;”取消引发错误“CancelError 用途:用于确定运行时在对话框中按”取消“时是否出错。选择该项,相 当于CancelError设为true,按”取
13、消“出错,否则,不出错。,9.2 对话框,9.2.1 通用对话框 例9-6在窗体上画一个名称为command1的命令按钮,标题为”打开文件“,再画一个名称为CD1的通用对话框。程序运行后,若单击命令按钮,则弹出打开文件对话框,并按下列要求设置属性和代码:设置适当属性,使对话框的标题为”打开文件“,初始目录为c盘根目录;设置适当属性,使对话框的”文件类型“下拉式组合框中有二行:”Word文 档“、”所有文件“,默认的是”所有文件“;编写命令按钮的事件过程,使得单击按钮可以弹出”打开文件“对话框;思路:首先,条件、是在对话框属性窗口上配置参数,可在对话框属性窗口内填写”对话框标题“、”初始化路径“
14、的相应内容;其次,过滤器的内容为:word文档|*.doc|所有文件|*.*;且根据题意,过滤器索引值设为2;另,条件是指编写代码,调用通用对话框,可采用如下程序代码:cd1.action=1 或者 cd1.showopen 均可,9.2 对话框,9.2.1 通用对话框 例【9-7】设计一个程序,用它打开一个文本进行编辑。程序运行后,单击”编辑文本文件“命令按钮,将显示打开对话框,其中列举了c:windows目录中的所有的文本文件*.txt,双击其中一个,程序调用Windows的记事本打开这个文件。解题思路:首先在窗体上画一个命令按钮及一个通用对话框控件,可采用action=1或showope
15、n方法调用对话框;其次,对话框的属性可在其属性窗口中配置,也可以在程序运行后,使用命令配置对话框属性,本题采用后者方法。另,在VB系统中调用记事本,可使用shell函数,格式如下 shell(program,doc_type),其中,program为调用的windows的可执行程序名称,包括路径;doc_type为打开文件的方式,一般值为1,9.2 对话框,9.2.1 通用对话框 2、”另存为“对话框 调用方法:在程序运行后,Action2或调用ShowSave方法;属性:与”打开“对话框基本一致;”另存为“对话框可以指定文件要保存的路径、文件名和文件类型;例9-8编写一个程序,用”另存为“对
16、话框将一个文本框的内容写入一个文本文件里。解题思路:首先在窗体上画一个文本框、命令按钮和通用对话框控件;其中对话框的属性可在其属性窗口中配置,也可在程序中用命令配置;,配置对话框属性 cd1.Filter=文本文件|*.txt|所有文件|*.*对话框的过滤器 cd1.FileName=*.txt 对话框的文件名 cd1.DefaultExt=txt 对话框的默认文件扩展名 cd1.Action=1 调用另存为对话框 将文本框内的内容写入文本文件 Open cd1.FileName For Output As#1 Print#1,Text1.Text Close#1,9.2 对话框,9.2.1
17、通用对话框 3、”颜色“对话框 调用方法:在程序运行后,Action3或调用ShowColor方法;属性:除对话框的基本属性外还有”color“与“flags”两个属性值;,9.2 对话框,9.2.1 通用对话框 3、”颜色“对话框 例9-9编写一个应用程序,用”颜色“对话框设置一个文本框的背景颜色。解题思路:首先在窗体上画一个文本框、命令按钮和通用对话框控件;对于文本框的背景色(backcolor)的设置可采用如下命令:text1.backcolor=commondialog1.color 例9-9_1”颜色“对话框falgs的属性实例 解题思路:首先在窗体上画一个文本框、命令按钮和通用对话
18、框控件;设置颜色对话框的falgs的属性值为”cdlCCFullOpen”,9.2 对话框,9.2.1 通用对话框 4、”字体“对话框 调用方法:Action4 或者调用showfont方法;属性值:,9.2 对话框,9.2.1 通用对话框 4、”字体“对话框 例9-10编写一个程序,用“字体”对话框设置一个文本框的字体。解题思路:在程序中,首先要设置对话框的flags属性,然后设置文本框的字体属性,如:fontname、fontsize等相应属性,如:text1.fontname=commondialog1.fontname等;,cd1.Flags=cdlCFBoth Or cdlCFEff
19、ects cd1.ShowFont 根据用户在字体对话框中的选择来设置文本框字体 Text1.FontName=cd1.FontName Text1.FontBold=cd1.FontBold Text1.FontSize=cd1.FontSize Text1.FontItalic=cd1.FontItalic Text1.FontStrikethru=cd1.FontStrikethru Text1.FontUnderline=cd1.FontUnderline Text1.ForeColor=cd1.Color,9.2 对话框,9.2.1 通用对话框 5、”打印机“对话框 调用方法:Act
20、ion5 或者调用showprinter方法;属性值:,例9-11 编写一个程序,用“打印机”对话框打印一个文本框内容。解题思路:打印份数要由FORNEXT循环程序加以控制。,9.2 对话框,9.2.1 通用对话框 6、”帮助“对话框 调用方法:Action6 或者调用showhelp方法;属性值:,注:帮助对话框不是用来制作应用程序的帮助文件的,它仅仅是将已制好的帮助文件从磁盘中提取出来,并与帮助对话框所提供的界面联接,达到显示并检索帮助信息的目的。,9.2 对话框,9.2.2 自定义对话框 所谓“自定义对话框”就是用户自己设计的一个窗口,窗口上放置一些用于交互信息的控件。一般自定义对话框的
21、属性设置:,注:“自定义对话框”一般情况下都设有“确定”和“取消”按钮,其他控件可根据需要而定。,9.2 对话框,9.2.2 自定义对话框“自定义对话框”的调用:一般情况下,调用Show方法即可,但由于调用Show方法时,参数不同,因而调用后的“自定义对话框”的状态有所不同:将自定义窗体作为模式对话框显示 模式对话框必须先关闭对话框,才能继续操作其他窗体。如“字体”对话框 调用格式:自定义对话框窗体名.Show vbModal 或 自定义对话框窗体名.Show 1 将自定义对话框作为无模式对话框显示 无模式对话框允许不关闭对话框,在对话框和其他窗体间间移动焦点。如“查找”对话框。调用格式:自定义对话框窗体.Show vbModaless 或 自定义对话框窗体.Show 0,9.3 综合应用举例,例9-12 在窗体上画一个文本框,把它的Mutiline属性设为True,通过菜单命令向文本框中输入信息并对文本框中的文本格式化。解题思路:首先在窗体上画文本框,并设置相应的属性值;再设置菜单及其菜单项;最后,编写各子菜单项的相应的程序语句。例9-13 编写一个简单的文本编辑程序。文本内容是在打开对话对话框中所选择的文件名。解题思路:本题是对通用对话框的综合使用,针对各对话框的特点,设置其属性值。,