《《Visual+Basic语言程序设计基础(第3版)》第11章+菜单设计》由会员分享,可在线阅读,更多相关《《Visual+Basic语言程序设计基础(第3版)》第11章+菜单设计(15页珍藏版)》请在金锄头文库上搜索。
1、,第11章 菜 单 设 计,知识要点,学习任务,使用菜单编辑器进行,Visual Basic,应用程序菜单设计以及菜单的,Click,事件过程的编写方法,弹出式菜单、菜单控件数组的设计方法,在程序运行中动态改变菜单的实现方法,了解菜单控件数组的设计方法,理解在程序运行中动态改变菜单的实现方法,掌握使用菜单编辑器进行,Visual Basic,应用程序菜单设计、菜单的,Click,事件过程的编写方法,以及弹出式菜单的设计方法,11.1,菜单简介,菜单栏,菜单标题,菜单选项,子菜单选项,子菜单标题,访问键,分隔条,快捷键,启动菜单编辑器,单击一个窗体作为菜单的载体,然后选择“工具”菜单的“菜单编辑
2、器”选项或者单击工具栏上的“菜单编辑器”按钮,可以调出“菜单编辑器”对话框,使用菜单编辑器,11.2,用菜单编辑器定义菜单(一),定义菜单的访问键,在输入菜单标题名或菜单选项名时,在一个字母前插入“&”符号可以将该字母定义为该菜单标题或菜单项的访问键,定义菜单的快捷键,单击“快捷键”列表框右侧的下拉箭头,可以在弹出的下拉列表中为菜单项选定快捷键。通过在菜单的属性窗口中选择,Shortcut,属性的取值也可以定义菜单的快捷键,定义子菜单,当给一个菜单选项定义了下级菜单时,该菜单选项在显示时自动带有一个三角标记,建立分隔条,在“标题”文本框中输入一个连字符“-”,可以在菜单中建立分隔条,11.2,
3、用菜单编辑器定义菜单(二),【例11.2】,利用菜单编辑器设计,如图所示的菜单系统,11.2,用菜单编辑器定义菜单(三),菜单项,标题名,菜单,级别,Name,属性,Index,属性,快捷键,Checked,属性,Enabled,属性,Visible,属性,文件(&,F),标题,mnufile,无,None,打开,一级,mnufileopen,无,Ctrl+O,-,一级,mnufileline,无,None,图片,一级,mnufilepic,无,None,金色森林,二级,mnufilepicgoldenwoods,无,None,蓝色椰岛,二级,mnufilepicblueisland,无,No
4、ne,清除,二级,mnufilepicclear,无,None,退出(&,X),标题,mnuquit,无,None,Caption,属性,名称应当各不相同,在不同的菜单标题中的相似功能可以同名,应尽量简短明了,应当定义一个便于记忆的字符作为访问键,如果在执行某个菜单选项所对应的功能时需要使用对话框,应在,Caption,属性取值的后面输入一个省略号(),Name,属性,使用前缀来标识对象,其后紧跟菜单栏中的菜单标题的名称,。,如果要表示子菜单,则再紧跟该子菜单选项的名称,11.3,菜单命名规则,菜单控件数组的概念,控件数组由一系列的控件组成,控件数组中的各个控件的“名称”属性相同,其他属性可以
5、互不相同。,菜单控件数组就是由多个菜单控件组成的控件数组,菜单标题或菜单选项在菜单控件数组中的位置或次序与其屏幕位置无关,菜单只能响应,Click,事件,菜单控件数组的作用,在程序运行时动态地创建一个新菜单项,可以简化程序代码,11.4,建立菜单控件数组(一),在菜单编辑器中建立菜单控件数组的步骤,选取要定义菜单的窗体,从,“工具”菜单中选择“菜单编辑器”选项或在工具栏上单击“菜单编辑器”按钮,通过“菜单编辑器”对话框的“标题”文本框和“名称”文本框创建,或在菜单控件列表框中选择一个已经存在的菜单控件作为菜单控件数组的第1个元素,将菜单控件数组中的第1个菜单控件元素的“索引”文本框的取值设置为
6、0,在同一缩进级上创建一个菜单控件(或在菜单控件列表框中选择一个已经存在的菜单控件)作为菜单控件数组的第2个元素,将菜单控件数组中的第2个菜单控件元素的“索引”文本框的取值设置为1,其“名称”文本框的内容要与第1个元素的“名称”文本框内容完全相同,重复第(5)步和第(6)步定义菜单控件数组的后继元素,11.4,建立菜单控件数组(二),动态设置菜单控件有效或无效,通过设置菜单的,Enabled,属性可以使菜单控件无效。,如果,Enabled,属性取值为,True,,表示菜单控件有效,反之,则菜单控件无效,菜单变为浅灰色的模糊显示。,动态设置菜单控件可见或不可见,通过设置菜单的,Visible,属
7、性可以动态设置菜单控件可见或不可见。,当菜单控件的,Visible,属性设置为,True,时,表示该菜单控件可见。反之,表示该菜单控件不可见。,动态添加或删除菜单控件,在设计时事先创建一个菜单控件数组。该菜单控件数组的第1个菜单控件元素做如下定义:在“菜单编辑器”对话框的“名称”文本框中输入控件名称“,mnuFileList,”;,在“索引”文本框中输入0;在“标题”文本框中输入一个连接符,即将此菜单控件定义为一个分隔条;将“可见”复选框设置为无效,即最初该分隔条是不可见的。,其余工作应该在程序运行时由程序代码来完成,相关的代码应该添加到“新建”和“打开”菜单项的,Click,事件过程中。,1
8、1.5,动态改变菜单,(一),动态设置菜单控件的复选标志,通过动态设置菜单控件的,Checked,属性取值来实现。,在运行时可以将菜单控件的,Checked,属性取值设置为,True,,此时该菜单项的左边将自动带有一个复选标记(对钩),表示此菜单控件所代表的功能为打开状态;,将菜单控件的,Checked,属性取值设置为,False,,此时该菜单项左边的复选标记消失,表示此菜单控件所代表的功能为关闭状态。,11.5,动态改变菜单,(二),为了使菜单能够在响应,Click,事件时完成某项功能,应该在代码中为每个菜单控件编写一个,Click,事件过程。,一般不必为一个菜单标题编写,Click,事件过
9、程代码,除非在选取菜单标题时需要执行除弹出下级子菜单以外的其他操作。,为菜单的,Click,事件过程编写的代码与为其他控件的任何事件过程编写的代码在语法上是完全一致的。,在设计时,首先在“菜单编辑器”对话框中创建各菜单控件,退出菜单编辑器以后,已经创建的菜单将显示在窗体上。此时,如果在窗体上选取一个菜单项,,Visual Basic,就会自动打开“代码编辑”窗口并显示该菜单控件的,Click,事件过程代码,必要时可以对代码进行编辑修改。,11.6,编写,Click,事件过程,弹出式菜单的概念,弹出式菜单是显示在窗体上的浮动菜单,其显示位置不受菜单栏的约束,可以自由定义。,显示弹出式菜单,在运行
10、时,任何含有一个或一个以上菜单项的菜单都可以作为弹出式菜单。要显示弹出式菜单,可以在代码中使用,PopupMenu,方法。,PopupMenu,方法的语法如下:,object.,PopupMenu,menuname,flags,x,y,boldcommand,11.7,弹出式菜单,填空题,在,Windows,应用程序中的菜单主要有以下几个组成元素:,、,、,、,、,、,、,、,。,菜单只有一个事件,即,事件。,通过,Visual Basic,的,为应用程序创建菜单,同时可以进行菜单属性的设置。菜单的属性也可以像其他控件一样在,窗口中进行设置。,退出“菜单编辑器”对话框后仍处于程序设计状态,此时
11、选定一个,可以调出其下级菜单,选定一个菜单命令将打开菜单单击事件的,窗口,而不是执行菜单单击事件所对应的代码。,在菜单的,Caption,属性取值的后面输入一个,号,表示选择该菜单选项将调出一个对话框。,按照,Visual Basic,的命名习惯,“文件”菜单一般命名为“,mnuFile,”,,则“文件”菜单的下级菜单的“保存”选项应命名为,。,思考与练习,填空题,在,Microsoft Windows,和大部分,Windows,的应用程序中,可以通过单击鼠标,键来调出弹出式菜单。使用弹出式菜单可以方便而快捷地进行操作,所以弹出式菜单又可以称为,。,要显示弹出式菜单,可以在代码中使用,方法。,简答题,简述菜单元素的功能及用法。,如何启动菜单编辑器?,简述“菜单编辑器”对话框中各个选项的含义。,如何定义菜单的访问键?,如何定义菜单的快捷键?,如何定义子菜单?,如何建立分隔条?,什么是菜单控件数组?,思考与练习,简答题,如何在菜单编辑器中建立菜单控件数组?,什么是弹出式菜单?,本章中为了更好地讲解菜单在,Windows,应用程序中的各种用法及其设计思想,特意针对大家所熟悉的,Microsoft Word,字表处理软件中的菜单应用列举了几种典型的设计实例,请对应本章的实例在,Visual Basic,的菜单系统中找出类似的菜单用法。,思考与练习,