作业:P314一,二题编程考核P314第三题的1,2在前面所讲的各种操作中,事件的执行都是通过“事件驱动程序”完成的。那么,如果我们要设计菜单,该如何操作呢?第11章菜单程序设计看看WORD的菜单。11.1用菜单编辑器建立菜单一、菜单类型1.下拉式菜单例:单击“文件”菜单所显示的就是下拉式菜单。2.弹出式菜单例:用鼠标右键单击窗体时所显示菜单是弹出式菜单。二、启动菜单编辑器的方法有4种方法:(1)执行“工具”菜单中的“菜单编辑器”命令。(2)执行热键Ctrl+E(3)单击标准工具栏中的“菜单编辑器”按钮。(4)在窗体上单击鼠标右键,从弹出的菜单中选择“菜单编辑器”命令。准备:打开cx1程序。三、菜单编辑器窗口的组成窗口分三部分:数据区、编辑区和菜单项显示区。1.数据区(1)标题:输入所建立菜单的名字及菜单中每个菜单项的标题。运行后可以看到标题。注意:如果想在菜单中加一条分隔线,只需输入一个减号(-)。(2)名称:用来输入菜单名及各菜单项的控制名(相当于Name属性),运行后可以看不到,用于编程。(3)索引:用来为控件数组设立下标。(4)快捷键:用来设置菜单项的快捷键。(5)协调位置:是一个列表框,用来确定菜单或菜单项是否出现或在什么位置出现。0—None菜单项不显示1—Left菜单项靠左显示0—Middle菜单项居中显示0—Right菜单项靠右显示(6)复选:当选择该项时,可以在相应的菜单项旁加上指定的记号(例如“√”)(7)有效:用来设置菜单项是是否能被激活。如果未选中,则相应的菜单项变灰。(8)可见:确定菜单项是否可见。2.编辑区(对菜单进行编辑)(1)左、右箭头:由来产生或取消内缩符号(菜单的降级升级)。单击一次右箭头,产生4个点,菜单层次降一级。单击一次左箭头,删除4个点,菜单层次升一级。(2)上、下箭头:用来移动菜单项的位置。(3)下一个:移到下一个菜单项(可用回车替代)。(4)插入:在当前位置插入新的菜单项。(5)删除:删除当前菜单项。3.菜单项显示区显示所有菜单。并用内缩符号....表明菜单项的层次关系。有关说明:(1)内缩符号由4个点组成,表明菜单项层次。一个内缩符号(4个点)代表一层,两个内缩符号表示两层,最多可设置六层。(2)如果标题栏只输入一个“-”,表示产生一个分隔线,分隔线可以不输入名称Name。(3)除分隔线外,所有菜单项都可接受Click事件。(4)输入菜单项时,如果字母前加“&”,则显示菜单时在该字母下加一条下划线,可通过ALT+带下划线的字母打开相应菜单。演示:在“打开”后加“(&O)”。例:设计一个具有算术运算(+、-、*、\)及清除功能的菜单。从键盘上输入两个数,利用菜单命令求出它们的和,差,积或商,并显示出来。1.设计用户界面设第一个文本框的名称为num1,第二个文本框的名称为num2,第三个标签的名称为result.各菜单项的属性为下表:分类标题名称内缩符号热键主菜单项1子菜单项1子菜单项2计算加、减C1无无加减AddMin11Ctrl+ACtrl+B主菜单项2子菜单项1子菜单项2计算乘、除C2无无乘除MulDiv11Ctrl+CCtrl+D主菜单项2子菜单项1子菜单项2清除与退出C3无无清除退出Clearquit11Ctrl+ECtrl+F2.编写程序代码用户单击菜单项就可打开相应的事件。加法事件:PrivateSubadd_Click()result.Caption=Val(num1.Text)+Val(num2.Text)EndSub减法事件:PrivateSubmin_Click()result.Caption=Val(num1.Text)-Val(num2.Text)EndSub乘法事件:PrivateSubmul_Click()result.Caption=Val(num1.Text)*Val(num2.Text)EndSub除法事件:PrivateSubdiv_Click()result.Caption=Val(num1.Text)/Val(num2.Text)EndSub清除事件:PrivateSubclear_Click()num1.Text=num2.Text=result.Caption=num1.SetFocusEndSub退出事件:PrivateSubquit_Click()EndEndSub11.6弹出式菜单弹出式菜单是一种小型菜单,它可以在窗口的某个地方显示出来,对程序事件作出反应。建立弹出式菜单,分2步:(1)先在菜单编辑器建立菜单。(2)用Popupmenu方法显示弹出式菜单。一、Popupmenu方法的格式对象.popupmenu菜单名,flag,X,Y,Boldcommand(1)该格式有六个参数,除“菜单名”外,其余参数均为可选。当省略对象时,弹出式菜单只能在当前窗体显示。如果需要弹出式菜单在其它窗体中显示,则必须加上窗体名。(2)为了显示弹出式菜单,通常把popupmenu方法放在窗体的mousedown事件中。一般通过鼠标右键显示弹出式菜单,可用botton参数来实现。左键的botton参数值为1,右键的botton参数值为2。可用下面语句通过单击鼠标右键来响应mousedown事件,显示弹出式菜单。Ifbotton=2thenpopupmenu菜单名例:建立一个弹出式菜单,用来改变文本框中字体的属性。(设文本框中的字的大小为“小三”)(1)各菜单项属性如下:标题Name内缩符号可见性字体格式化Popformat无False粗体Popbold1True斜体Popitalic1True隶书Lishu1True退出quit1true(2)编写窗体的mousedown事件.PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenPopupMenupopformatEndIfEndSub(2)打开窗体的代码窗口,单击”对象”框右端的的箭头,显示各菜单项,编写各菜单项代码.PrivateSublishu_Click()Text1.FontName=隶书EndSubPrivateSubpopbold_Click()Text1.FontBold=TrueEndSubPrivateSubpopitalic_Click()Text1.FontItalic=TrueEndSubPrivateSubquit_Click()EndEndSub作业:P314的选择题、填空题