VB程序设计第7章-菜单的设计解析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第7章菜单的设计第7章菜单的设计7.1知识要点7.2习题与解答7.3实训指导7.4测验题7.1知识要点1、菜单与菜单编辑器(1)菜单的基本概念菜单:菜单就是可以选择命令的一个列表。菜单分类:菜单一般分为下拉式菜单和弹出式菜单两种。下拉式菜单位于多出现在菜单栏中,弹出式菜单显示在窗体之上,是独立于菜单栏的浮动式菜单。菜单标题:显现在菜单栏上的具体对象,单击标题显示下拉菜单项。菜单项:包含菜单命令、分隔条和子菜单标题。菜单热键:同时按下Alt和菜单热键即可打开该菜单。菜单快捷键:按下该键直接执行响应菜单项的操作。(2)菜单编辑器VisualBasic应用程序中的菜单可以利用“菜单编辑器”来进行设计,也可以利用程序向导来生成。“菜单编辑器”的主要优点是使用方便、简捷,可以用编程量很少的完全交互方式来自定义菜单。进入“菜单编辑器”有四种方法:①在设计状态下,选择“工具”菜单下的“菜单编辑器”命令,或者在窗体上单击右键,在随后弹出的快捷菜单中选择“菜单编辑器”命令。②单击工具栏中的“菜单编辑器”快捷按钮。③按Ctrl+E键。④在窗体的空白处右键单击,然后单击弹出菜单中的“菜单编辑器”菜单项。“菜单编辑器”分上、中、下三部分,三部分分别为属性设置去,中间为七个按钮区,下面为菜单显示区。窗口中主要组成元素的作用解释见表7-1。表7-1“菜单编辑器”的组成元素及其作用组成元素作用标题(Caption)文本框用来输入显示在窗体上的用户建立的菜单标题。名称(Name)文本框用来输入菜单项的名称。索引(Index)文本框用来输入menu控件数组元素的下标。快捷键(Shortcut)列表框供用户在列表中为菜单项选择一个快捷键。复选(Checked)复选框“复选”属性设置为True时,可以在相应的菜单项左侧加上一个“√”号。有效(Enabled)复选框“有效”属性决定菜单项是否有效。可见(Visible)复选框“可见”属性决定菜单项是否可见。“←”和“→”按钮调整菜单项级别。“↑”和“↓”按钮调整菜单中各菜单项的顺序。“下一个”按钮使得下一个菜单项进入编辑状态。“插入”按钮在选定的菜单项之前插入和该菜单项级别相同的菜单项。“删除”按钮删除选定的菜单项。菜单显示区域该区域用来显示用户为某一窗体设计的所有菜单项的标题。2、菜单的设计设计一个菜单,首先要列出菜单的组成;然后,利用“菜单编辑器”按照菜单组成进行设计;最后,再为每个菜单项编写事件代码。①建立菜单利用“菜单编辑器”将菜单中的菜单项、子菜单以及菜单分组信息逐一建立好。②编写代码每个菜单项一般只能响应一个事件,即鼠标单击(Click)事件。③菜单项动态增减菜单项能够随着应用程序的变化而动态地增减,在具体实现过程中通常要利用到菜单控件数组。3、菜单的控制①有效性控制有些菜单命令在某些条件下是不可用的,不可用的菜单,又称之为无效菜单,呈灰色显示,不响应用户事件。菜单项的有效性由它的属性Enabled来控制。②菜单项的复选标记所谓菜单项的复选标记,就是菜单项左侧的“√”记号,它表明该菜单项当前处于活动状态,也就是说该菜单项对应的命令只能表示两种状态,即活动状态与非活动状态。在“菜单编辑器”中,有复选(Checked)复选框用来对复选标记进行初始化设置,它对应菜单项的Checked属性,Checked属性只有True和False两个取值,分别表明该菜单项当前处于活动状态或非活动状态。③菜单项的隐藏与显示应用程序菜单中的某些菜单项可以在必要的时候隐藏起来,“可见(Visible)”属性决定菜单项是否可见,它的默认值为True。4、建立快捷菜单快捷菜单的设计同样使用“菜单编辑器”。设计过程中,通常把快捷菜单的顶层菜单项的可见(Visible)属性设置为False。这样,程序运行时,快捷菜单是不可见的。显示快捷菜单的方法是PopupMenu,它的语法格式为:[对象.]PopupMenu菜单项名[,Flags[,x[,y]]]其中,“对象”是可选的。如果省略,则具有焦点的窗体将成为默认对象。x和y是两个可选参数,分别指定显示弹出式菜单的x坐标和y坐标。如果省略,则使用鼠标的坐标。Flags参数的设置值和含义如下:(1)Flags的默认值为0,弹出式菜单的左侧定位于x。(2)Flags取值为4,x的位置是弹出式菜单的中心。(3)Flags取值为8,弹出式菜单的右侧定位于x。由于快捷菜单的顶层菜单项是不显示的,所以快捷菜单的顶层菜单至少要有一个子菜单项。第7章菜单的设计7.1知识要点7.2习题与解答7.3实训指导7.4测验题7.2习题与解答1、常用的菜单有哪几种?答案:菜单一般分为下拉式菜单和弹出式菜单两种。下拉式菜单位于多出现在菜单栏中,弹出式菜单显示在窗体之上,是独立于菜单栏的浮动式菜单。2、菜单的热键和快捷键有什么区别?答案:菜单热键的作用是同时按下Alt和菜单热键即可打开该菜单,而菜单快捷键的作用是按下该键直接执行响应菜单项的操作。通常,为顶级菜单项设置热键,而为非定级菜单项设置快捷键。3、菜单项响应的事件有哪些?答案:菜单项只响应一个事件,即鼠标单击事件(Click)。4、进入“菜单编辑器”有几种常用方法?答案:进入“菜单编辑器”有四种方法:①在设计状态下,选择“工具”菜单下的“菜单编辑器”命令,或者在窗体上单击右键,在随后弹出的快捷菜单中选择“菜单编辑器”命令。②单击工具栏中的“菜单编辑器”快捷按钮。③按Ctrl+E键。④在窗体的空白处右键单击,然后单击弹出菜单中的“菜单编辑器”菜单项。5、利窗口中哪些项目是必须填写的。答案:在用“菜单编辑器”进行菜单设计时,只有名称属性是必须填写的,菜单标题可以为空,其他项目也都可以不设置。6、如何设计菜单控件数组?菜单数组中的菜单有哪些要求?答案:设计菜单数组控件时,只要把该数组中的所有菜单项元素名称设为相同,索引值不同即可。菜单控件数组中的各元素在菜单控件列表中必须是连续的,而且在同一级别上。7所谓菜单的控制问题指的是什么?答案:菜单的控制包括①有效性控制②菜单项的复选标记③菜单项的隐藏与显示8、设计快捷菜单时,有哪些要求?使用什么方法显示快捷菜单?答案:快捷菜单的设计同样使用“菜单编辑器”。设计过程中,通常把快捷菜单的顶层菜单项的可见(Visible)属性设置为False。这样,程序运行时,快捷菜单是不可见的。显示快捷菜单的方法是PopupMenu。第7章菜单的设计7.1知识要点7.2习题与解答7.3实训指导7.4测验题7.3实训指导7.3.1技能训练目的☆掌握利用“菜单编辑器”设计下拉式菜单的方法。☆掌握利用代码动态增减菜单项的方法。☆掌握快捷菜单的设计方法。☆掌握菜单数组的使用方法。7.3.2技能训练内容【实训7.1】为教材例7.1的“颜色”菜单中增加“其他颜色”菜单项,并通过“通用对话框”为其实现代码完成对标签文字的颜色设置。提示:参照教材例7.1。【实训7.2】编写一个简单的文本处理程序,窗体如图7-1所示,在窗体上设计菜单:包含“编辑”和“设置”两项,其中“编辑”提供Windows中提供的“剪切”、“复制”和“粘贴”和”退出“功能(只能从左侧文本框向右侧文本框进行复制和剪切粘贴);“设置”提供“设置背景颜色”(指文本框的背景),“设置文本颜色”和“设置字体”(包括字体、粗体、和字号)功能,并实现菜单各项的功能。提示:窗体上包含一个通用对话框(Commondialog1)和两个文本框(Text1和Text2)。菜单设计,打开“菜单编辑器”窗口,把表7-2列出的各菜单项属性输入到“菜单编辑器”中。图7-1菜单项标题(Caption)名称(Name)索引(Index)编辑编辑mnuedit….剪切剪切mnueditcut….复制复制mnueditcopy….粘贴粘贴mnueditpaste….--mnuline….退出退出mnuinc设置设置mnuset….设置背景颜色设置背景颜色mnusetting0….设置字体颜色设置字体颜色mnusetting1….设置字体设置字体mnusetting2参考代码:OptionExplicitPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenPopupMenumnueditEndIfEndSubPrivateSubmnueditcopy_Click()IfText1.SelLength0ThenClipboard.SetTextText1.SelTextEndIfEndSubPrivateSubmnueditcut_Click()IfText1.SelLength0ThenClipboard.SetTextText1.SelTextText1.SelText=EndIfEndSubPrivateSubmnueditexit_Click()EndEndSubPrivateSubmnueditpaste_Click()IfLen(Clipboard.GetText)0ThenText2.SelText=Clipboard.GetTextEndIfEndSubPrivateSubmnusetting_Click(IndexAsInteger)IfIndex=0ThenCommonDialog1.ShowColorText1.BackColor=CommonDialog1.ColorText2.BackColor=CommonDialog1.ColorEndIfIfIndex=1ThenCommonDialog1.ShowColorText1.ForeColor=CommonDialog1.ColorText2.ForeColor=CommonDialog1.ColorEndIfIfIndex=2ThenCommonDialog1.Flags=cdlCFBothCommonDialog1.ShowFontText1.Font.Name=CommonDialog1.FontNameText2.Font.Name=CommonDialog1.FontNameText1.Font.Size=CommonDialog1.FontSizeText2.FontSize=CommonDialog1.FontSizeEndIfEndSub【实训7.3】为第六章实训6.4添加菜单栏,编写相应代码。具体步骤略。【实训7.4】设计程序,利用菜单实现数据的生成与排序,窗体如图7-2所示。在窗体上的控件如表7-3。图7-2表7-3实训7.4中对象的属性设置对象属性设置值窗体名称Form1CaptionForm1标签1名称Label1CaptionBorderStyle1--fixedsingle标签2名称Label2CaptionBorderStyle1--fixedsingle标签3名称Label3Caption初始数据:标签4名称Label4Caption排序后数据:建立菜单。打开“菜单编辑器”窗口,把表7-4列出的各菜单项属性输入到“菜单编辑器”中。表7-4菜单项的属性设置菜单项标题(Caption)名称(Name)可见(Visible)初始初始mnunumbersTrue….生成数据生成数据mnucreateTrue….清空清空mnuclearTrue….--mnuline1True….升序升序mnuincTrue….降序降序mnuredTrue….--mnuline2True….退出退出mnuexitTrue生成菜单如图7-3。编写代码完成以下功能:单击“生成数据”菜单项,在label1标签中随机生成10个100以内的整数;单击“清空”菜单项,label1和label2标签内数据均清空;单击“升序”和“降序”菜单项,则分别把label1标签中的数据按升序和降序的顺序排列在label2标签中;单击“退出”菜单项,退出程序。同时,在程序运行时,右键单击label1标签,则显示mnunumbers菜单为快

1 / 51
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功