菜单程序设计
- 格式:doc
- 大小:46.74 KB
- 文档页数:16
实验12菜单设计一、实验目的1.掌握设计下拉式菜单的方法。
2.掌握设计快捷菜单的方法。
二、实验内容实验12.1 设计下拉式菜单系统利用菜单设计器,建立“学生成绩管理系统”下拉式菜单系统,菜单结构如表12-1所示。
表12-1 “学生成绩管理系统”系统的菜单结构基本信息录入(I)课程管理(M)信息查询(Q)信息打印(P)退出(X)学生信息Ctrl+S 学生选课学生基本信息学生名册版权信息课程信息成绩录入Ctrl+I 学生成绩成绩单退出系统教师信息学生选课成绩分析报表教师授课教师授课考试证【操作步骤】(1)单击“文件”|“新建”命令或常用工具栏上的“新建”按钮,在出现的“新建”对话框中,选择文件类型为“菜单”,然后单击“新建文件”按钮,打开“菜单设计器”窗口。
(2)设置菜单栏。
在“菜单设计器”中,单击“插入”按钮,自动插入一条新的菜单项,在“菜单名称”栏中修改为“基本信息录入(\<I)”,在“结果”栏选择默认选项“子菜单”,重复上述操作,完成菜单栏的定义,如图12-1所示。
【提示】●如果调整菜单项的顺序,可以通过拖动菜单项的“菜单名称”前的滑块实现。
如果删除某菜单项,需先选择该菜单项后按“删除”按钮。
●为菜单项设置访问键,可以让用户使用“Alt+访问键”方法访问此菜单。
设置访问键的方法是在指定菜单名称时,在要作为访问键的字母前加上“\<”两个字母。
预览或运行菜单时,该字母下方出现下划线。
8485图12-1 定义“学生成绩管理系统”的菜单栏(3)添加子菜单。
选择“基本信息录入”菜单项,单击“结果”列上的“创建”按钮,使设计器切换到子菜单页,然后插入菜单项,设置各菜单项名称,如图12-2所示。
从“菜单级”列表框中选择“菜单栏”,返回到主菜单页,用相同方法创建其他子菜单。
图12-2 “基本信息录入”子菜单定义【提示】● 在“菜单名称”中输入“\-”,则在菜单中该菜单项的位置处出现一条分界线,使菜单分组显示。
菜单设计管理程序
第一条由研发部制定相关菜单设计标准,报总经理审定后颁布。
第二条由单店落实菜单设计标准,并将具体执行情况汇报至运营管理部,由运营管理部汇总、审核、备档
第三条运营管理部定期对单店菜单设计执行情况给与督导,并如实记录督导结果,对单店相应情况给予及时的调整和处理,并及时依据单店菜单标准执行情况给予店长相应的考核。
以保证菜单标准的严肃有效。
第四条单店对菜单标准可以定期提出修改建议,报运营管理部备案和审定第五条运营管理部在年底将本年度各单店菜单标准执行情况与和修改建议给与汇总,报总经理审批。
第六条运营管理部依据相关审批意见,对各单店落实考核结果,研发部依据建议汇总及时对菜单标准给予修订。
第七条菜单更新以单店需求为主,原则上特色菜一年更新一次,自营菜依
据单店情况自行更新,如有例外情况,由研发部和运营管理部共同制定并颁布执行。
第八条菜单的价格制定以研发部的价格标准为主,如有其他需求,可以向研发部提出相关申请,由研发部组织论证,并经总经理审批后方能执行。
第九条特色菜菜单由公司统一设计印制配送至各单店,各单店无权自行设计和印制。
自营菜菜单的设计和价格制定,在运营管理部依据研发部标准审核后,单店可以自行印制或者委托总部印制。
六、⼯具栏的设计⼯具栏(也称为发条或者控制栏)已经成为许多基于Windows的应⽤程序的标准功能。
⼯具栏提供了对于应⽤程序中最常⽤的菜单命令的快速访问。
可以使⽤ToolBar控件来轻松的创建⼯具栏,也可以使⽤应⽤程序向导来创建⼯具栏,⽅法更加简便。
1、利⽤应⽤程序向导创建⼯具栏应⽤程序向导是VB6.0为⽤户提供的⼀项功能,通过应⽤程序向导⽤户可以很快设计出⼀个标准Windows程序的框架,其中包括窗体、菜单、⼯具栏、多⽂档、状态栏、对话框、滚动条等等。
设计过程是在对话中完成,设计完成后形成应⽤程序的界⾯和框架。
创建⼀个标准的应⽤程序框架步骤如下:在"新建⼯程"对话框中选中"VB应⽤程序向导"后单击[打开]命令按钮确认。
按向导导航单击⼀次[下⼀步]按钮进⼊"界⾯类型"对话框,选中"多⽂档界⾯",为⼯程取名为"MyApplication",单击[下⼀步]确认。
进⼊"菜单"对话框,可以进⾏菜单设计,设计完成单击[下⼀步]按钮确认,进⼊"⾃定义⼯具栏"对话框。
在"⾃定义⼯具栏"对话框中可以⾃⾏设计⼯具栏,设计完成单击[完成]确认。
2、使⽤ToolBar控件创建⼯具栏使⽤ToolBar控件创建⼯具栏也是⾮常简单的⼯作,基本的属性设置可以通过对话框完成。
给⽰例Mymenu设计⼀个具有四个⼯具按钮的⼯具栏,分别对应菜单中的"新建"、"打开"、"粗体"、"斜体"等四个菜单项,并完成相应的功能。
⾸先从"部件"对话框中选中Microsoft Windows Common Controls6.0,确认后则ToolBar控件添加到⼯具箱中。
将ToolBar控件添加到窗体上。
酒店菜单制作方案引言在酒店运营中,菜单是与客人直接接触的重要媒介之一。
一个精心制作的菜单不仅可以为客人提供丰富多样的选择,还可以展示酒店的独特风格和高品质的服务。
本文将为酒店提供一种制作菜单的方案,旨在帮助酒店提升菜单的吸引力和实用性。
一、菜单设计1.1 菜单尺寸和页面布局菜单的尺寸应根据酒店的要求和实际情况来确定。
一般而言,A4纸大小的菜单足够容纳大部分的菜品和相关信息。
而页面布局应简洁明了,避免错乱和混乱,以方便客人阅读和选择。
1.2 颜色和字体选择在选择菜单的颜色和字体时,应考虑酒店的整体风格和定位。
一般而言,菜单的颜色应与酒店的装饰相协调,并且注意不要选择过于刺眼或难以辨认的颜色。
字体的选择应清晰易读,可以考虑使用一种主要字体以及一种用于突出特殊信息的辅助字体。
1.3 图片和插图的运用在菜单上使用适量的图片和插图可以增加菜品的吸引力和真实性,但也要注意不要过度使用,以免造成视觉冲击和混乱。
图片应清晰并与实际菜品相符。
插图可以用于衬托菜品和烘托氛围,例如使用相关的图标或装饰元素。
二、菜单内容2.1 分类和排序菜单的分类应根据酒店的菜品种类进行划分,常见的分类可以包括前菜、主菜、甜点、饮品等。
每个分类中的菜品可以按照一定的顺序排列,例如按照菜品的热度、推荐程度或价格进行排序。
在菜单中使用清晰的分割线或标题可以帮助客人更好地理解菜单结构。
2.2 菜品名称和描述菜品的名称应简明扼要,能够准确表达菜品的特点和主要食材。
菜品的描述可以提供一些详细的信息,如菜品的烹饪方法、口感特点、适宜搭配的饮品等。
同时,对于特殊顾客群体,如素食者或过敏患者,应特别标注相关信息,以方便客人的选择。
2.3 价格和特殊优惠菜品的价格应清晰明了,并与实际收费一致。
特殊优惠如套餐、特价菜或会员折扣等应在菜单中明确标注,以便客人了解和选择。
同时,还可以在菜单中加入一些推荐搭配或特别推荐的菜品,以提升客人的消费意愿。
三、菜单更新和维护菜单是一份动态的文件,应根据酒店的实际情况进行定期更新和维护。
<易语言程序设计>作者:蔷薇的羽翼第十三章菜单当软件变得越来越复杂的时候,需要完成的命令也就越来越多,这众多功能需要有效地管理到一个小小的窗口中,这就是菜单的来历,每个应用程序都可以有一个菜单栏,按功能分组为不同类型的菜单项,每个菜单项中可以包换多种功能,子菜单中的菜单先又可以有子菜单,如此分层布局。
13.1设计普通菜单窗口的菜单栏位于窗口标题栏的下方,菜单栏可以显示多个菜单标题,一个菜单标题可能只对应一个菜单命令,或则可以展开显示多个菜单项菜单,而每个菜单项可以有下一级的子菜单。
在易语言中利用菜单控件可以显示应用程序的自定义菜单,但菜单控件与其它标准控件不同,首先在工具箱中找不到菜单控件,其次菜单具有其他控件所不具有的特性,菜单有固定位置外观结构,使用手工在窗口上不易绘制,因此易语言提供了一份菜单编辑器利用该工具可以轻松创建修改删除菜单。
13.2使用菜单编辑器我们以最常见的文本编辑器(记事本程序)的菜单为例,说明如何使用菜单编辑器制作菜单。
在易语言开发环境中,打开需要添加菜单的窗口,然后执行工具-菜单编辑器菜单命令,就会打开菜单编辑器对话框。
如图最开始窗口上没有任何菜单,所以菜单编辑器的列表框是空的,下面我们开始创建菜单。
1.在对话框的“标题”文本框中,输入第一个菜单标题,即“文件”易语言会自动完成“名称”文本框的填充大多情况下可以不用更改。
2.然后点击“向后插入”或“向前插入”,这是列表框中增加一个菜单项,同时所有属性清空,光标停留在空白的“标题”上。
3.我们现在创建的“文件”菜单是顶级菜单,易语言中不允许无子菜单的顶层菜单出现,所以我们要添加子菜单。
比如“文件”菜单下应该有“新建”“打开”“保存”“退出”等命令.4.同样的在菜单编辑器中将所有菜单命令添加进来。
并且设置每个菜单项的位置和从属级别即可。
其中运用对话框中的左移右移等按钮可以方便的改变菜单项的位置和级别。
总之,我们可以利用菜单项在列表框中的位置可以判断该菜单控件是菜单标题还是子菜单标题。
c语言程序设计菜单C语言程序设计菜单是一种在C语言程序中实现用户交互界面的方法,它允许用户通过选择不同的选项来执行不同的程序功能。
设计一个菜单通常需要考虑以下几个方面:1. 菜单的布局:菜单应该清晰、直观,易于用户理解。
通常包括选项列表和提示信息。
2. 选项的组织:选项应该按照逻辑顺序排列,使用户能够容易地找到他们想要的功能。
3. 输入的处理:程序需要能够识别用户的输入,并根据输入执行相应的操作。
4. 错误处理:程序应该能够处理无效输入,并给出相应的提示信息。
5. 循环结构:菜单通常使用循环结构,直到用户选择退出程序。
下面是一个简单的C语言程序设计菜单的示例:```c#include <stdio.h>int main() {int choice;do {printf("\n欢迎使用C语言程序设计菜单\n");printf("1. 计算两个数的和\n");printf("2. 计算两个数的差\n");printf("3. 退出程序\n");printf("请输入您的选择(1-3):");scanf("%d", &choice);switch(choice) {case 1:printf("您选择了计算两个数的和。
\n");// 计算和的代码break;case 2:printf("您选择了计算两个数的差。
\n");// 计算差的代码break;case 3:printf("您选择了退出程序。
\n");break;default:printf("无效的选择,请重新输入。
\n");}} while(choice != 3);return 0;}```在这个示例中,我们使用了一个`do-while`循环来实现菜单的重复显示,直到用户选择退出。
c语言课程设计菜单设计程序一、教学目标本章节的教学目标是使学生掌握C语言菜单设计程序的基本方法,理解菜单设计程序的结构和原理,能够独立编写简单的菜单设计程序。
知识目标:使学生掌握C语言的基本语法,了解函数的定义和调用,掌握菜单设计的基本方法。
技能目标:使学生能够独立编写简单的菜单设计程序,能够根据实际需要设计复杂的菜单系统。
情感态度价值观目标:培养学生对计算机编程的兴趣和热情,使学生能够认识到计算机编程在实际生活中的应用和价值。
二、教学内容本章节的教学内容主要包括C语言的基本语法,函数的定义和调用,菜单设计的基本方法。
1.C语言的基本语法:数据类型、变量、运算符、表达式、控制语句等。
2.函数的定义和调用:函数的定义、函数的调用、函数的返回值等。
3.菜单设计的基本方法:菜单的定义、菜单的显示、菜单的选择等。
三、教学方法本章节的教学方法采用讲授法、案例分析法和实验法相结合的方式。
1.讲授法:通过讲解C语言的基本语法、函数的定义和调用、菜单设计的基本方法,使学生掌握相关知识。
2.案例分析法:通过分析实际案例,使学生理解菜单设计程序的结构和原理,掌握菜单设计的方法。
3.实验法:通过编写和运行菜单设计程序,使学生独立掌握菜单设计的方法和技巧。
四、教学资源本章节的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:C语言编程入门教程。
2.参考书:C语言编程实例教程。
3.多媒体资料:C语言编程视频教程。
4.实验设备:计算机、编程软件。
五、教学评估本章节的教学评估主要包括平时表现、作业和考试三个部分,以全面、客观、公正地评估学生的学习成果。
1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和理解程度。
2.作业:布置与菜单设计程序相关的编程作业,评估学生的编程能力和对知识的理解运用。
3.考试:进行期中和期末考试,测试学生对C语言和菜单设计程序的掌握程度。
六、教学安排本章节的教学安排如下:1.教学进度:按照教材的章节顺序,逐步讲解C语言的基本语法、函数的定义和调用、菜单设计的基本方法。
《编写程序菜单》作业设计方案(第一课时)一、作业目标本次作业旨在帮助学生掌握编写程序菜单的基本概念和技能,提高他们的编程能力和问题解决能力。
通过完成作业,学生将能够理解菜单的基本结构,掌握编写菜单的技巧和方法,为后续学习打下基础。
二、作业内容1. 任务一:设计一个简单的菜单界面学生需要使用所学的编程语言,设计一个包含若干个菜单选项的界面。
每个选项应具有相应的文字描述和功能。
学生可以选择使用文本框、按钮等控件来实现菜单选项。
作业要求:界面简洁明了,选项数量适中,功能描述清晰。
2. 任务二:实现菜单功能学生需要为设计的菜单界面添加相应的功能。
例如,当用户选择某个选项时,程序应能够执行相应的操作。
作业要求:功能实现要符合逻辑,操作简单易懂。
3. 任务三:测试与调试学生需要对完成的程序进行测试和调试,确保程序能够正常运行,且菜单选项的功能正确。
三、作业要求1. 学生需独立完成作业,不得抄袭或使用他人代码。
2. 作业应在规定时间内提交,作业提交方式可自行选择(如在线平台、邮箱等)。
3. 提交作业时应附带详细的注释和说明,以便教师了解学生的完成情况。
四、作业评价1. 教师根据学生的作业质量和提交情况进行评价,成绩将纳入期末总评。
2. 评价标准包括:界面设计是否简洁明了、选项数量是否适中、功能描述是否清晰、程序运行是否稳定、菜单选项功能是否正确等。
3. 对于在作业过程中遇到困难的学生,教师将提供指导和帮助,鼓励他们克服困难,继续完成作业。
五、作业反馈1. 学生可以通过在线平台或邮箱向教师反馈作业中的问题和困难,以便教师及时调整教学策略,帮助学生更好地完成后续学习任务。
2. 教师将定期收集学生的反馈意见,对教学方案进行优化和改进,以提高教学质量和效果。
通过本次作业,学生将能够掌握编写程序菜单的基本知识和技能,为后续学习打下坚实的基础。
同时,教师也将根据学生的完成情况和反馈意见,不断优化教学方案,提高教学质量和效果。
单片机菜单程序设计一、引言单片机是一种集成电路,具有微处理器、内存、输入/输出接口等功能模块的芯片。
它广泛应用于各种电子设备中,如家电、汽车电子、工业控制等领域。
而单片机菜单程序设计是利用单片机的功能实现一个具有菜单界面的程序,使用户能够通过菜单选择功能,并进行相应的操作。
本文将介绍单片机菜单程序设计的基本原理和实现方法。
二、菜单程序设计的基本原理菜单程序设计的基本原理是通过使用单片机的输入/输出接口,结合按键和显示屏等外部设备,实现菜单的显示和选择。
具体包括以下几个步骤:1. 初始化:包括对单片机和外部设备的初始化操作,如设置输入/输出引脚、初始化显示屏等。
2. 菜单显示:通过控制显示屏显示菜单的选项,包括菜单标题和各个选项的名称。
3. 按键检测:利用单片机的输入引脚检测按键的状态,判断用户是否按下了某个按键。
4. 选项选择:根据用户按下的按键,判断用户选择了哪个菜单选项。
5. 功能实现:根据用户选择的菜单选项,执行相应的功能操作。
6. 返回菜单:功能操作完成后,返回上一级菜单或回到主菜单。
三、菜单程序设计的实现方法菜单程序设计可以采用多种实现方法,常用的有层级菜单和状态机两种。
1. 层级菜单:层级菜单是通过多级菜单选项的嵌套实现的。
每个菜单选项可以再包含子菜单,用户通过按键选择菜单选项,进入下一级子菜单或执行相应的功能操作。
2. 状态机:状态机是通过定义不同的状态和状态转移条件实现的。
每个菜单选项可以对应一个状态,用户通过按键触发状态转移,实现不同功能的切换。
实现菜单程序时,需要注意以下几点:1. 菜单的设计要简洁明了,选项名称要清晰易懂,避免歧义。
2. 菜单的显示要美观大方,可以使用不同字体、颜色和布局等方式进行设计。
3. 按键的检测要准确可靠,避免误触发或按键失灵的情况。
4. 功能操作要严谨可靠,避免因程序错误导致系统崩溃或数据丢失。
5. 菜单的返回要灵活方便,用户可以随时返回上一级菜单或回到主菜单。
1 用户界面设计一、菜单设计二、对话框设计三、工具栏四、综合应用本章目录2 一、菜单设计下拉式菜单弹出式菜单快捷菜单主菜单快捷菜单子菜单MenuStrip ContextMenuStrip菜单项:事件:Click需要为菜单项编写事件过程Text 分隔符 输入:- Checked :True 菜单项成选项,选定了显示“√”热键:&字符,如新建(&N)快捷键:ShortcutKeys例1 设计一个记事本程序Text Name ShortcutKeys Text Name ShortcutKeys 文件(F) 使用缺省名编辑(E) 使用缺省名新建(N) FileNew Ctrl+N 剪切(T) EditCut Ctrl+X 打开(O)…FileOpen Ctrl+O 复制(C) EditCopy Ctrl+C另存为(A)…FileSaveAs Ctrl+S 粘贴(P) EditPaste Ctrl+V分隔线使用缺省名格式(O) 使用缺省名退出(X) FileExit 字体(F) FormatFont帮助(H) 使用缺省名颜色(C) FormatColor关于(A)…AboutDilog下拉式菜单的建立过程:①在窗体上放置一个MenuStrip控件②设计菜单③设置菜单项的属性④编写菜单项的事件过程例2 为例1设计一个弹出式菜单①在窗体上放置一个ContextMenuStrip控件②设计菜单③设置菜单项的属性④建立弹出式菜单与文件框之间的关联⑤编写菜单项的事件过程一般与下拉式菜单中的菜单项共享事件过程' 修改“新建”菜单项的事件过程' 假定弹出式菜单中“新建”菜单项名称为PopFileNew Sub FileNew_Click( … ) Handles FileNew.ClickTextBox1.Text = ""TextBox1.Focus()End Sub例2 为例1设计一个弹出式菜单①在窗体上放置一个ContextMenuStrip控件②设计菜单③设置菜单项的属性④建立弹出式菜单与文件框之间的关联⑤编写菜单项的事件过程一般与下拉式菜单中的菜单项共享事件过程' 修改“新建”菜单项的事件过程' 假定弹出式菜单中“新建”菜单项名称为PopFileNewSub FileNew_Click( … ) Handles FileNew.Click, PopFileNew.Click TextBox1.Text = ""TextBox1.Focus()End Sub。
《编写程序菜单》作业设计方案(第一课时)一、作业目标本次作业旨在帮助学生掌握编写程序菜单的基本概念和技能,提高他们的编程能力和问题解决能力。
通过完成作业,学生将能够独立编写简单的程序菜单,了解菜单设计的基本要素和流程。
二、作业内容任务一:设计一个简单的菜单界面要求:1. 使用文本框创建一个菜单界面,至少包含五个菜品选项。
2. 每个菜品选项下方留出空行,以便后续添加菜品描述和价格。
3. 菜单界面大小适中,便于用户查看和操作。
任务二:编写程序菜单逻辑要求:1. 根据菜单界面中的菜品选项,编写相应的代码逻辑,实现点餐功能。
2. 用户输入菜品选项后,程序应显示该菜品的名称和价格。
3. 用户确认购买后,程序应记录菜品信息和购买数量。
三、作业要求1. 学生需独立完成作业,不得抄袭或使用他人代码。
2. 作业中使用的文本框、代码等素材请自行准备或自行搜索下载。
3. 作业应在规定时间内提交,时间安排为一周(5个工作日)。
4. 提交作业时,请附上对作业的理解和设计思路,以便教师评估和指导。
四、作业评价1. 教师将根据学生的作业完成情况、代码逻辑的正确性和创新性等方面进行评价。
2. 评价结果将作为学生平时成绩的参考,以激励学生积极参与作业,提高编程能力。
3. 对于在作业中遇到困难的学生,教师将给予指导和帮助,鼓励他们坚持完成作业。
五、作业反馈1. 学生可随时向教师咨询作业中的问题和困惑,寻求帮助和指导。
2. 教师将定期收集学生反馈,了解学生对作业的看法和建议,以便不断改进和优化作业设计方案。
3. 鼓励学生在完成作业后分享自己的经验和成果,与其他同学交流学习。
通过本次作业,学生将能够掌握编写程序菜单的基本知识和技能,提高他们的编程能力和问题解决能力。
同时,教师将根据学生的反馈和表现,不断调整和优化作业设计方案,以满足学生的学习需求和提高教学质量。
作业设计方案(第二课时)一、作业目标通过本次作业,学生将进一步巩固和掌握编写程序菜单的基本知识和技能,提高编程能力和问题解决能力。
菜单程序设计菜单程序设计2010年12月05日星期日下午09:52菜单程序设计一、菜单菜单的基本作用:菜单的基本类型:几个常用术语:--菜单条出现在窗体标题的下面,包含每个菜单的标题。
--菜单包含命令列表或子菜单名。
--菜单中列出的每一项。
--从某个菜单项分支出来的另外的一个菜单。
具有子菜单的菜单项右边带有一个三角符号标志。
--分隔条是在菜单项之间的一条水平直线,用于修饰菜单。
--弹出式菜单是另一种形式的菜单,在按下鼠标右键时出现,它是一个上下文相关的菜单。
使用菜单编辑器可以为应用程序创建自定义菜单并定义其属性,利用这个编辑器,可以建立下拉式菜单,最多可达6层。
启动菜单编辑器的方法有4种(先选中一个窗体,使之为活动窗体):使用菜单"工具"/"菜单编辑器";启动后,弹出菜单设计窗口。
菜单编辑器窗口分为三个部分:数据区、编辑区和菜单项显示区。
1、数据区用来输入或修改菜单项、设置属性。
其中:隔线。
可在该文本框中输入数值,这个值用来在帮助文件(用HelpFile属性设置)中查找相应的帮助主题。
用来确定菜单或菜单项是否出现或在什么位置出现。
该列表有4个选项:0-None菜单项不显示2、编辑区共有7个按钮。
3、菜单项显示区(菜单列表)位于菜单设计窗口的下部,输入的菜单项在这里显示出来,并通过内缩符号(…)表明菜单项的层次。
条形光标所在的菜单项是"当前菜单项"。
说明:菜单项是一个总的名称,包括4个方面的内容:菜单名(菜单标题)、菜单命令、分隔线和子菜单。
内缩符号由4个点组成,它表明菜单项所在的层次,一个内缩符号(4个点)表示一层,两个内缩符号(8个点)表示两层…最多20个点,即5个内缩符号,它后面的菜单项为第六层。
如果一个菜单项前面没有内缩符号,则该菜单为菜单名,即菜单的第一层。
隔线。
下面通过一个简单的例子说明菜单程序设计的基本方法和步骤。
例1根据题意,可以将菜单分为3个主菜单项,分别为"计算加、减"、"计算乘、除"和"清除与退出",它们各有两个子菜单,即:"计算加、减"的子菜单项:加、减"计算乘、除"的子菜单项:乘、除"清除与退出"的子菜单项:清除、退出另外,为了输入和显示,再建立两个文本框(输入数据)和四个标签。
1、界面:其中Lable4的BorderStyle属性设置为1。
2、菜单项属性:3、设计菜单:步骤:其它两个主菜单的建立与前面步骤类似,不再重复。
设计完成后的窗口如下图。
"确定"后结束。
设计完成后,窗体顶行显示主菜单项,单击某个主菜单项,即可下拉显示其子菜单。
4、程序代码:每个菜单项都可以接收Click事件。
每个菜单项都有一个名字(Name属性),将这个名字与Click放在一起,组成Click事件过程。
Option Explicit Private Sub Add_Click()x=Val(Text1.Text)+Val(Text2.Text)End Sub Private Sub Min_Click()x=Val(Text1.Text)-Val(Text2.Text)Private Sub Mul_Click()x=Val(Text1.Text)*Val(Text2.Text)Private Sub Div_Click()If Text2.Text="0"Or Text2.Text=""Then End Sub Private SubClean_Click()Text1.Text=""End Sub Private Sub Quit_Click()5、运行程序:在两个文本框中输入数字后,分别单击各菜单项或热键,看一看执行结果。
本例中的"有效"属性和"可见"属性采用默认的"True",只有在必要时才设置其它属性。
下面将讨论这些情况。
在使用Windows或VB菜单时,已见过"与众不同"的菜单项,如有的呈灰色,单击这类菜单项不执行任何操作;有的菜单项前有"√"号,或菜单项的某个字母下面有下划线等等。
下面将介绍如何在菜单中增加这些属性。
1、菜单项的有效属性(有效性控制)为了使程序正常运行,有时需要使某些菜单项失效,以防止出现误操作。
例如前面的例子中,只有在文本框中输入数字后才能进行运算,否则运算没有意义。
因此,如果尚未输入数据,则应使执行加、减、乘、除的菜单项失效,在输入数据后才生效。
为此,可增加下面两个事件过程:Private Sub Text1_Change()If Text1.Text=""Then End Sub Private Sub Text2_Change()If Text2.Text=""Then End Sub除增加上述两个事件过程外,还要方法:打开"菜单编辑器"窗口,把对应于这4个菜单项的数据区中的"有效"属性复选框中的"√"去掉即可。
2、菜单项的复选属性(菜单项的标记)所谓菜单项标记,就是在菜单项前加上一个"√"。
它有两个作用:增加方法:一般来说,菜单项标记通常是动态的加上或取消的,所以,程序代码中根据执行情况设置。
例2界面:一个文本框、6个标签。
菜单属性:设计菜单:编写代码:Option Explicit Private Sub octv_Click()answer=Val(Text1.Text)Private Sub Hexv_Click()answer=Val(Text1.Text)Private Sub dec_Click()answer=Val(Text1.Text)End Sub Private Sub Clean_Click()Text1.Text=""End Sub Private Sub Quit_Click()End End Sub例3在窗体上添加一个文本框,用来输入要显示的文本。
菜单属性:菜单设置见教材P244。
代码如下:Private Sub Form_Load()Private Sub mnunew_Click()'菜单项的单击事件Private Sub mnuopen_Click()Private Sub mnuclose_Click()Private Sub mnuexit_Click()Private Sub mnubold_Click()Private Sub mnuitalic_Click()3、菜单的可见属性同"有效"属性相似,可以利用"可见"属性来取消用户对某些特定菜单项的访问权限。
若关闭某个特定的菜单项的"可见"属性,该菜单项将从菜单中被移走。
用户将不知道该菜单项的存在。
例4打开菜单编辑器,在菜单列表中选择[退出]菜单项,单击"插入"按钮,在[退出]菜单项之前插入一个菜单项。
4、设置键盘选择菜单项在一般情况下,菜单项通过鼠标选择,即单击某个菜单项,执行相应的操作。
在VB中,也可以通过键盘选择所需的菜单项。
用键盘选择有两种方法:前面已介绍过热键的设置方法。
用热键可以直接执行菜单命令,不必一级一级地下拉菜单,速度较快,适合熟悉键盘的用户使用。
所谓访问键,就是菜单项中加了下划线的字母,只要按Alt和加了下划线的字母,就可以选择相应的菜单项。
用访问键选择菜单项时,必须一级一级地选择。
也就是只有在下拉显示下一级菜单后,才能用Alt和加了下划线的字母键选择。
访问键的设置说明:任何5、创建菜单控件数组菜单控件数组就是在同一菜单上共享相同名称和事件过程的菜单工程的集合。
菜单控件数组用于:在运行时要创建一个新菜单项,它必须是菜单控件数组中的成员每个菜单控件数组元素都由惟一的索引值来标识,该值在菜单编辑器上"Index属性框"中指定。
当一个控件数组成员识别一个事件时,VB将其Index 属性作为一个附加的参数传递给事件过程。
事件过程必须包含有核对Index属性的代码,因而可以判断出正在使用的是哪一个控件。
例5:菜单项名称索引快捷键mnuFont.粗体粗体mnuBold Ctrl+B.斜体斜体mnuItalic Ctrl+I.大小大小mnuSize 10mnuFS 20mnuFS 30mnuFS通过菜单编辑器中创建菜单控件数组的步骤:同样,所有的控件也可以用这种方法创建控件数组。
通常把OptionButton 和CheckBox控件设置为控件数组。
使用菜单数组和控件数组有下述优点:可以用For循环方便的访问每一个对象菜单控件数组mnuFS的Click事件响应代码如下:Private Sub mnuFS_Click(Index as Integer)Select Case Index end sub 6、菜单项的增减(动态菜单)动态菜单是指随着应用程序的运行而不断改变的一种菜单,在运行时菜单可以增长。
Word软件的"文件"菜单是一个典型的动态菜单,菜单中列出了最近使用过的文件名,这部分内容随着应用程序的运行而不断改变的。
而用前面的方法建立的菜单是固定的,菜单项不能增减。
为了增加或减少菜单项,必须在"菜单编辑器"窗口中,对原来的菜单进行增删。
使用动态菜单在应用程序中一个控件数组含有若干个控件,这些控件的名称相同,所使用的事件过程相同,但其中的每个元素可以有自己的属性。
和普通数组一样,通过下标(Index)访问控件数组中的元素。
控件数组可以在设计阶段建立(见添加控件一节),也可以在程序运行阶段建立。
菜单项的增减是通过菜单控件数组实现的。
菜单控件数组和普通数组一样,也是通过下标来访问数组中的元素(这里为菜单项)的。
菜单控件数组也一样可以设计时建立、可以在运行时建立。
具体操作:如设计时对名称为mnuRecentFile的分隔条菜单控件的Index属性进行了赋值,它自动地成为控件数组的一个元素,当创建mnuRecentFile(0)时,实际上创建了一个在运行时不可见的分隔符条。
当运行时用户第一次存储一个文件,这个分隔条就会变得可见,且第一个文件名被加到该菜单上。
运行时每存储一个文件,则会再装入一个菜单项到该数组中,从而使该菜单增长(当然,菜单也不能无限增长)。
运行时创建的控件可以使用Hide方法或者设置该控件的Visible属性为False来隐藏。