《VB程序设计第章菜单的设计》由会员分享,可在线阅读,更多相关《VB程序设计第章菜单的设计(51页珍藏版)》请在金锄头文库上搜索。
1、 第第7章章 菜单的设计菜单的设计 第第7章章 菜单的设计菜单的设计 7.1 知识要点知识要点 7.2 习题与解答习题与解答 7.3 实训指导实训指导 7.4 测验题测验题 7.1知识要点知识要点1、菜单与菜单编辑器、菜单与菜单编辑器(1)菜单的基本概念)菜单的基本概念菜单:菜单就是可以选择命令的一个列表。菜单:菜单就是可以选择命令的一个列表。菜单分类:菜单一般分为下拉式菜单和菜单分类:菜单一般分为下拉式菜单和弹出式菜单两种。下拉式菜单位于多出弹出式菜单两种。下拉式菜单位于多出现在菜单栏中,弹出式菜单显示在窗体现在菜单栏中,弹出式菜单显示在窗体之上,是独立于菜单栏的浮动式菜单。之上,是独立于菜
2、单栏的浮动式菜单。 菜单标题:显现在菜单栏上的具体对象,菜单标题:显现在菜单栏上的具体对象,单击标题显示下拉菜单项。单击标题显示下拉菜单项。菜单项:包含菜单命令、分隔条和子菜菜单项:包含菜单命令、分隔条和子菜单标题。单标题。菜单热键:同时按下菜单热键:同时按下Alt和菜单热键即可和菜单热键即可打开该菜单。打开该菜单。菜单快捷键:按下该键直接执行响应菜菜单快捷键:按下该键直接执行响应菜单项的操作。单项的操作。 (2)菜单编辑器)菜单编辑器 Visual Basic应用程序中的菜单可以利应用程序中的菜单可以利用用“菜单编辑器菜单编辑器”来进行设计,也可以来进行设计,也可以利用程序向导来生成。利用程
3、序向导来生成。“菜单编辑器菜单编辑器”的主要优点是使用方便、简捷,可以用的主要优点是使用方便、简捷,可以用编程量很少的完全交互方式来自定义菜编程量很少的完全交互方式来自定义菜单。单。 进入进入“菜单编辑器菜单编辑器”有四种方法:有四种方法: 在设计状态下,选择在设计状态下,选择“工具工具”菜单下的菜单下的“菜菜单编辑器单编辑器”命令,或者在窗体上单击右键,命令,或者在窗体上单击右键,在随后弹出的快捷菜单中选择在随后弹出的快捷菜单中选择“菜单编辑器菜单编辑器”命令。命令。单击工具栏中的单击工具栏中的“菜单编辑器菜单编辑器”快捷按钮。快捷按钮。按按Ctrl+E键。键。在窗体的空白处右键单击,然后单
4、击弹出菜在窗体的空白处右键单击,然后单击弹出菜单中的单中的“菜单编辑器菜单编辑器”菜单项。菜单项。“菜单编辑器菜单编辑器”分上、中、下三部分,三部分分上、中、下三部分,三部分分别为属性设置去,中间为七个按钮区,下分别为属性设置去,中间为七个按钮区,下面为菜单显示区。窗口中主要组成元素的作面为菜单显示区。窗口中主要组成元素的作用解释见表用解释见表7-1。表表7-1 “菜单编辑器菜单编辑器”的组成元素及其作用的组成元素及其作用组成元素组成元素作用作用标题(标题(Caption)文本框)文本框用来输入显示在窗体上的用户建立的菜单标题。用来输入显示在窗体上的用户建立的菜单标题。名称(名称(NameNa
5、me)文本框)文本框用来输入菜单项的名称。用来输入菜单项的名称。索引(索引(Index)文本框)文本框用来输入用来输入menu控件数组元素的下标。控件数组元素的下标。快捷键(快捷键(Shortcut)列表)列表框框供用户在列表中为菜单项选择一个快捷键。供用户在列表中为菜单项选择一个快捷键。复选(复选(Checked)复选框)复选框“复选复选”属性设置为属性设置为True时,可以在相应的菜单项左侧加上一个时,可以在相应的菜单项左侧加上一个“”号。号。有效(有效(Enabled)复选框)复选框“有效有效”属性决定菜单项是否有效。属性决定菜单项是否有效。可见(可见(Visible)复选框)复选框“可
6、见可见”属性决定菜单项是否可见。属性决定菜单项是否可见。“”和和“”按钮按钮调整菜单项级别。调整菜单项级别。“”和和“”按钮按钮调整菜单中各菜单项的顺序。调整菜单中各菜单项的顺序。“下一个下一个”按钮按钮使得下一个菜单项进入编辑状态。使得下一个菜单项进入编辑状态。“插入插入”按钮按钮在选定的菜单项之前插入和该菜单项级别相同的菜单项。在选定的菜单项之前插入和该菜单项级别相同的菜单项。“删除删除”按钮按钮删除选定的菜单项。删除选定的菜单项。菜单显示区域菜单显示区域该区域用来显示用户为某一窗体设计的所有菜单项的标题。该区域用来显示用户为某一窗体设计的所有菜单项的标题。 2、菜单的设计、菜单的设计 设
7、计一个菜单,首先要列出菜单的组成;然设计一个菜单,首先要列出菜单的组成;然后,利用后,利用“菜单编辑器菜单编辑器”按照菜单组成进行按照菜单组成进行设计;最后,再为每个菜单项编写事件代码。设计;最后,再为每个菜单项编写事件代码。建立菜单建立菜单利用利用“菜单编辑器菜单编辑器”将菜单中的菜单项、子菜将菜单中的菜单项、子菜单以及菜单分组信息逐一建立好。单以及菜单分组信息逐一建立好。 编写代码编写代码每个菜单项一般只能响应一个事件,即鼠标单击每个菜单项一般只能响应一个事件,即鼠标单击(Click)事件。)事件。菜单项动态增减菜单项动态增减菜单项能够随着应用程序的变化而动态地增减,菜单项能够随着应用程序
8、的变化而动态地增减,在具体实现过程中通常要利用到菜单控件数组。在具体实现过程中通常要利用到菜单控件数组。 3、菜单的控制、菜单的控制有效性控制有效性控制有些菜单命令在某些条件下是不可用的,不可用的菜单,有些菜单命令在某些条件下是不可用的,不可用的菜单,又称之为无效菜单,呈灰色显示,不响应用户事件。又称之为无效菜单,呈灰色显示,不响应用户事件。菜单项的有效性由它的属性菜单项的有效性由它的属性Enabled来控制。来控制。菜单项的复选标记菜单项的复选标记所谓菜单项的复选标记,就是菜单项左侧的所谓菜单项的复选标记,就是菜单项左侧的“”记号,记号,它表明该菜单项当前处于活动状态,也就是说该菜单它表明该
9、菜单项当前处于活动状态,也就是说该菜单项对应的命令只能表示两种状态,即活动状态与非活项对应的命令只能表示两种状态,即活动状态与非活动状态。动状态。 在在“菜单编辑器菜单编辑器”中,有复选(中,有复选(Checked)复选框)复选框用来对复选标记进行初始化设置,它对应菜单项用来对复选标记进行初始化设置,它对应菜单项的的Checked 属性,属性,Checked属性只有属性只有True和和False两个取值,分别表明该菜单项当前处于活两个取值,分别表明该菜单项当前处于活动状态或非活动状态。动状态或非活动状态。菜单项的隐藏与显示菜单项的隐藏与显示应用程序菜单中的某些菜单项可以在必要的时候隐应用程序菜
10、单中的某些菜单项可以在必要的时候隐藏起来,藏起来,“可见(可见(Visible)”属性决定菜单项是属性决定菜单项是否可见,它的默认值为否可见,它的默认值为True。4、建立快捷菜单、建立快捷菜单快捷菜单的设计同样使用快捷菜单的设计同样使用“菜单编辑器菜单编辑器”。设计过。设计过程中,通常把快捷菜单的顶层菜单项的可见程中,通常把快捷菜单的顶层菜单项的可见(Visible)属性设置为)属性设置为False。这样,程序运行。这样,程序运行时,快捷菜单是不可见的。时,快捷菜单是不可见的。显示快捷菜单的方法是显示快捷菜单的方法是PopupMenu,它的语法格,它的语法格式为:式为:对象对象.PopupM
11、enu ,Flags,x,y其中,其中,“对象对象”是可选的。如果省略,则具有焦点的窗体是可选的。如果省略,则具有焦点的窗体将成为默认对象。将成为默认对象。x和和y是两个可选参数,分别指定显示是两个可选参数,分别指定显示弹出式菜单的弹出式菜单的x坐标和坐标和y坐标。如果省略,则使用鼠标的坐标。如果省略,则使用鼠标的坐标。坐标。Flags参数的设置值和含义如下:参数的设置值和含义如下:(1)Flags的默认值为的默认值为0,弹出式菜单的左侧定位于,弹出式菜单的左侧定位于x。(2)Flags取值为取值为4,x的位置是弹出式菜单的中心。的位置是弹出式菜单的中心。(3)Flags取值为取值为8,弹出式
12、菜单的右侧定位于,弹出式菜单的右侧定位于x。由于快捷菜单的顶层菜单项是不显示的,所以快捷菜单的由于快捷菜单的顶层菜单项是不显示的,所以快捷菜单的顶层菜单至少要有一个子菜单项。顶层菜单至少要有一个子菜单项。 第第7章章 菜单的设计菜单的设计 7.1 知识要点知识要点 7.2 习题与解答习题与解答 7.3 实训指导实训指导 7.4 测验题测验题 7.2习题与解答习题与解答1、常用的菜单有哪几种?、常用的菜单有哪几种? 答案:菜单一般分为下拉式菜单和弹出式菜单两种。答案:菜单一般分为下拉式菜单和弹出式菜单两种。下拉式菜单位于多出现在菜单栏中,弹出式菜单显下拉式菜单位于多出现在菜单栏中,弹出式菜单显示
13、在窗体之上,是独立于菜单栏的浮动式菜单。示在窗体之上,是独立于菜单栏的浮动式菜单。2、菜单的热键和快捷键有什么区别?、菜单的热键和快捷键有什么区别?答案:菜单热键的作用是同时按下答案:菜单热键的作用是同时按下Alt和菜单热键即可和菜单热键即可打开该菜单,而菜单快捷键的作用是按下该键直接打开该菜单,而菜单快捷键的作用是按下该键直接执行响应菜单项的操作。通常,为顶级菜单项设置执行响应菜单项的操作。通常,为顶级菜单项设置热键,而为非定级菜单项设置快捷键。热键,而为非定级菜单项设置快捷键。 3、菜单项响应的事件有哪些?、菜单项响应的事件有哪些? 答案:菜单项只响应一个事件,即鼠标单击事件(答案:菜单项
14、只响应一个事件,即鼠标单击事件(Click)。)。4、进入、进入“菜单编辑器菜单编辑器”有几种常用方法?有几种常用方法?答案:进入答案:进入“菜单编辑器菜单编辑器”有四种方法:有四种方法:在设计状态下,在设计状态下,选择选择“工具工具”菜单下的菜单下的“菜单编辑器菜单编辑器”命令,或者在窗命令,或者在窗体上单击右键,在随后弹出的快捷菜单中选择体上单击右键,在随后弹出的快捷菜单中选择“菜单编菜单编辑器辑器”命令。命令。单击工具栏中的单击工具栏中的“菜单编辑器菜单编辑器”快捷按快捷按钮。钮。按按Ctrl+E键。键。在窗体的空白处右键单击,然后在窗体的空白处右键单击,然后单击弹出菜单中的单击弹出菜单
15、中的“菜单编辑器菜单编辑器”菜单项。菜单项。5、利窗口中哪些项目是必须填写的。、利窗口中哪些项目是必须填写的。 答案:在用答案:在用“菜单编辑器菜单编辑器”进行菜单设计时,只有名称属进行菜单设计时,只有名称属性是必须填写的,菜单标题可以为空,其他项目也都可性是必须填写的,菜单标题可以为空,其他项目也都可以不设置。以不设置。6、如何设计菜单控件数组?菜单数组中的菜单有哪些要求、如何设计菜单控件数组?菜单数组中的菜单有哪些要求? 答案:设计菜单数组控件时,只要把该数组中的所有菜单答案:设计菜单数组控件时,只要把该数组中的所有菜单项元素名称设为相同,索引值不同即可。菜单控件数组项元素名称设为相同,索
16、引值不同即可。菜单控件数组中的各元素在菜单控件列表中必须是连续的,而且在同中的各元素在菜单控件列表中必须是连续的,而且在同一级别上。一级别上。 7所谓菜单的控制问题指的是什么?所谓菜单的控制问题指的是什么? 答案:菜单的控制包括答案:菜单的控制包括有效性控制有效性控制 菜单项的复选标记菜单项的复选标记 菜单项的隐藏与显示菜单项的隐藏与显示8、设计快捷菜单时,有哪些要求?使用什么方法显示快捷、设计快捷菜单时,有哪些要求?使用什么方法显示快捷菜单?菜单?答案:快捷菜单的设计同样使用答案:快捷菜单的设计同样使用“菜单编辑器菜单编辑器”。设计过。设计过程中,通常把快捷菜单的顶层菜单项的可见(程中,通常
17、把快捷菜单的顶层菜单项的可见(Visible)属性设置为属性设置为False。这样,程序运行时,快捷菜单是不可。这样,程序运行时,快捷菜单是不可见的。见的。 显示快捷菜单的方法是显示快捷菜单的方法是PopupMenu。 第第7章章 菜单的设计菜单的设计 7.1 知识要点知识要点 7.2 习题与解答习题与解答 7.3 实训指导实训指导 7.4 测验题测验题 7.3实训指导实训指导7.3.1技能训练目的技能训练目的 掌握利用掌握利用“菜单编辑器菜单编辑器”设计下拉式菜单设计下拉式菜单的方法。的方法。 掌握利用代码动态增减菜单项的方法。掌握利用代码动态增减菜单项的方法。 掌握快捷菜单的设计方法。掌握
18、快捷菜单的设计方法。 掌握菜单数组的使用方法。掌握菜单数组的使用方法。 7.3.2技能训练内容技能训练内容【实训实训7.1】为教材例为教材例7.1的的“颜色颜色”菜单中增加菜单中增加“其他颜色其他颜色”菜单项,并通过菜单项,并通过“通用对话框通用对话框”为其为其实现代码完成对标签文字的颜色设置。实现代码完成对标签文字的颜色设置。提示:参照教材例提示:参照教材例7.1。 【实训实训7.2】编写一个简单的文本处理程序,窗体如图编写一个简单的文本处理程序,窗体如图7-1所示,在窗体上设计菜单:包含所示,在窗体上设计菜单:包含“编辑编辑”和和“设设置置”两项,其中两项,其中“编辑编辑”提供提供Wind
19、ows中提供的中提供的“剪切剪切”、“复制复制”和和“粘贴粘贴”和和”退出退出“功能(只功能(只能从左侧文本框向右侧文本框进行复制和剪切粘贴)能从左侧文本框向右侧文本框进行复制和剪切粘贴);“设置设置”提供提供“设置背景颜色设置背景颜色”(指文本框的背(指文本框的背景),景),“设置文本颜色设置文本颜色”和和“设置字体设置字体”(包括字(包括字体、粗体、和字号)功能,并实现菜单各项的功能。体、粗体、和字号)功能,并实现菜单各项的功能。提示:窗体上包含一个通用对话框(提示:窗体上包含一个通用对话框(Commondialog1)和)和两个文本框(两个文本框(Text1和和Text2)。)。菜单设计
20、,打开菜单设计,打开“菜单编辑器菜单编辑器”窗口,把表窗口,把表7-2列出的各菜列出的各菜单项属性输入到单项属性输入到“菜单编辑器菜单编辑器”中。中。图图7-1菜单项菜单项标题(标题(Caption)名称(名称(Name)索引(索引(Index)编辑编辑编辑编辑mnuedit.剪切剪切剪切剪切mnueditcut.复制复制复制复制mnueditcopy.粘贴粘贴粘贴粘贴mnueditpaste.-mnuline.退出退出退出退出mnuinc设置设置设置设置mnuset.设置背景颜色设置背景颜色设置背景颜色设置背景颜色mnusetting0.设置字体颜色设置字体颜色设置字体颜色设置字体颜色mnu
21、setting1.设置字体设置字体设置字体设置字体mnusetting2参考代码:Option ExplicitPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then PopupMenu mnueditEnd IfEnd SubPrivate Sub mnueditcopy_Click()If Text1.SelLength 0 Then Clipboard.SetText Text1.SelTextEnd IfEnd SubPrivate
22、 Sub mnueditcut_Click()If Text1.SelLength 0 Then Clipboard.SetText Text1.SelText Text1.SelText = End IfEnd SubPrivate Sub mnueditexit_Click()EndEnd SubPrivate Sub mnueditpaste_Click()If Len(Clipboard.GetText) 0 Then Text2.SelText = Clipboard.GetText End IfEnd SubPrivate Sub mnusetting_Click(Index As
23、 Integer)If Index = 0 ThenCommonDialog1.ShowColorText1.BackColor = CommonDialog1.ColorText2.BackColor = CommonDialog1.ColorEnd IfIf Index = 1 ThenCommonDialog1.ShowColorText1.ForeColor = CommonDialog1.ColorText2.ForeColor = CommonDialog1.ColorEnd IfIf Index = 2 ThenCommonDialog1.Flags = cdlCFBothCom
24、monDialog1.ShowFontText1.Font.Name = CommonDialog1.FontNameText2.Font.Name = CommonDialog1.FontNameText1.Font.Size = CommonDialog1.FontSizeText2.FontSize = CommonDialog1.FontSizeEnd IfEnd Sub【实训实训7.3】为第六章实训为第六章实训6.4添加菜单栏,编写添加菜单栏,编写相应代码。相应代码。具体步骤略。具体步骤略。【实训实训7.4】设计程序,利用菜单实现数据的生设计程序,利用菜单实现数据的生成与排序,窗体如
25、图成与排序,窗体如图7-2所示。所示。 在窗体上的控件如表在窗体上的控件如表7-3。图图7-2 表表7-3 实训实训7.4中对象的属性设置中对象的属性设置对象属性设置值窗体名称Form1CaptionForm1标签1名称Label1CaptionBorderStyle1-fixedsingle标签2名称Label2CaptionBorderStyle1-fixedsingle标签3名称Label3Caption初始数据:标签4名称Label4Caption排序后数据:建立菜单。打开建立菜单。打开“菜单编辑器菜单编辑器”窗口,把表窗口,把表7-4列出的各菜单列出的各菜单项属性输入到项属性输入到“
26、菜单编辑器菜单编辑器”中。中。 表表7-4 菜单项的属性设置菜单项的属性设置菜单项标题(Caption)名称(Name)可见(Visible)初始初始mnunumbersTrue.生成数据生成数据mnucreateTrue .清空清空mnuclearTrue.-mnuline1True .升序升序mnuincTrue .降序降序mnuredTrue.-mnuline2True.退出退出mnuexitTrue 生成菜单如图生成菜单如图7-3。编写代码完成以下功能:单击。编写代码完成以下功能:单击“生成数据生成数据”菜单项,在菜单项,在label1标签中随机生成标签中随机生成10个个100以内的整
27、数;单击以内的整数;单击“清空清空”菜单项,菜单项,label1和和label2标签内数据均清空;单击标签内数据均清空;单击“升序升序”和和“降序降序”菜单项,则分别把菜单项,则分别把label1标签中的数据按升序和降序标签中的数据按升序和降序的顺序排列在的顺序排列在label2标签中;单击标签中;单击“退出退出”菜单项,菜单项,退出程序。同时,在程序运行时,右键单击退出程序。同时,在程序运行时,右键单击label1标标签,则显示签,则显示mnunumbers菜单为快捷菜单,如图菜单为快捷菜单,如图7-4所示。所示。图图7-3图图7-4参考代码如下:参考代码如下:Dim a(10) As In
28、tegerPrivate Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then PopupMenu mnunumbersEnd IfEnd SubPrivate Sub mnuclear_Click()Label1.Caption = Label1.Caption = End SubPrivate Sub mnucreate_Click()Dim i As IntegerFor i = 1 To 10 Randomize a(i) = Int(Rnd
29、 * 100) Label1.Caption = Label1.Caption + Str$(a(i)NextEnd SubPrivate Sub mnudec_Click()Dim i As Integer, j As Integer, k As IntegerFor i = 1 To 9 For j = i + 1 To 10 If a(i) a(j) Then k = a(i) a(i) = a(j) a(j) = k End If Next j Label2.Caption = Label2.Caption + Str$(a(i)Next iLabel2.Caption = Label
30、2.Caption + Str$(a(10)End Sub 第第7章章 菜单的设计菜单的设计 7.1 知识要点知识要点 7.2 习题与解答习题与解答 7.3 实训指导实训指导 7.4 测验题测验题 7.4测验题测验题7.4.1选择题1在使用菜单编辑器进行菜单设计时,必须填写的项目是在使用菜单编辑器进行菜单设计时,必须填写的项目是 。 A名称名称 B标题标题 C快捷键快捷键 D热键热键答案:答案:A2下列关于菜单的说法错误的是下列关于菜单的说法错误的是 。 A菜单分为下拉式和弹出式两种。菜单分为下拉式和弹出式两种。 B每个菜单项都是一个控件,与其他控件一样也有自己每个菜单项都是一个控件,与其他控
31、件一样也有自己的属性和事件。的属性和事件。 C菜单项只支持菜单项只支持Click事件和事件和DblClick事件。事件。 D只有建立菜单数组时才为菜单项的索引赋值。只有建立菜单数组时才为菜单项的索引赋值。答案:答案:C 3有一名为有一名为mnuabc的菜单项,为了在程序运行时菜单无的菜单项,为了在程序运行时菜单无效,正确的语句是效,正确的语句是 。 Amnuabc.enabled=True Bmnuabc.enabled=False Cmnuabc.visible=True Dmnubac.visible=False答案:答案:B4若要设定若要设定D键为某菜单项的热键,在设置该菜单项标题键为某
32、菜单项的热键,在设置该菜单项标题时,应该时,应该 。 A在字母在字母D的前面加上的前面加上“$” B在字母在字母D的前面加上的前面加上“” C在字母在字母D的前面加上的前面加上“#” D在字母在字母D的前面加上的前面加上“&”答案:答案:D 5若要让一名为若要让一名为mnuabc的菜单项,为了在程序的菜单项,为了在程序运行时有复选标记,应该使用的语句是运行时有复选标记,应该使用的语句是 。 Amnuabc.enabled=True Bmnuabc.enabled=False Cmnuabc.checked=True Dmnubac.checked=False答案:答案:C6下列事件代码Priv
33、ate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then PopupMenu mnuitem, 2End Sub功能是 。A只有在窗体上右键单击才弹出菜单mnuitem,左右键均可以触发弹出菜单。B只有在窗体上右键单击才弹出菜单mnuitem,仅有右键可以触发弹出菜单。C只有在窗体上左键单击才弹出菜单mnuitem,仅有右键可以触发弹出菜单。D只有在窗体上左键单击才弹出菜单mnuitem,左右键均可以触发弹出菜单。答案:答案:A7下列说法正确的是
34、 。A若要为某菜单项添加代码,只有在设计阶段双击该菜单项才可进入代码设计窗口。B因为菜单分割条没有对应的代码,所以无须给他命名。C菜单项不可见等同于令其Caption属性为空。D菜单项能够实现随着应用程序的变化而动态地增减。答案:答案:D8设置菜单控件数组时,下列说法正确的是 。A菜单项索引必须从0开始。B菜单项索引设定后,不可以更改,只能删除重做。C各菜单项的名称一定要相同。D菜单项索引必须是连续的。答案:答案:C 9下列说法错误的是下列说法错误的是 。A分隔条菜单也可以有子菜单,但不能有快捷键。分隔条菜单也可以有子菜单,但不能有快捷键。B已经建立好的下拉式菜单也可以作为快捷菜单已经建立好的
35、下拉式菜单也可以作为快捷菜单来使用。来使用。C在设计阶段单击某菜单项,可以打开它的子菜在设计阶段单击某菜单项,可以打开它的子菜单。单。D在设计阶段单击某菜单项,不能执行它对应的在设计阶段单击某菜单项,不能执行它对应的菜单命令,可以为其编写代码。菜单命令,可以为其编写代码。答案:答案:A7.4.2填空题填空题1菜单通常分为菜单通常分为 (1) 和和 (2) 两种,两种,Visual Basic在在 (3) 中进行菜单设计。中进行菜单设计。答案:(答案:(1)下拉式菜单)下拉式菜单 (2)弹出式菜单)弹出式菜单 (3)菜单编辑器)菜单编辑器2菜单分割条的标题应设为菜单分割条的标题应设为 (4) 。
36、答案:答案:- 3.菜单的热键是指同时按下菜单的热键是指同时按下 (5) 键和菜单热键即可打键和菜单热键即可打 开该菜单,菜单热键字符会以开该菜单,菜单热键字符会以 (6) 形式加以显示。形式加以显示。答案:(答案:(5)Alt (6)下划线)下划线4一般来说,每个菜单项只能响应一个事件,即一般来说,每个菜单项只能响应一个事件,即 (7) 事件。事件。答案:鼠标单击(答案:鼠标单击(Click) 7.4.3编程题编程题为实训为实训7.2的简单文本处理程序添加一个文件的简单文本处理程序添加一个文件菜单,动态添加打开过的文件路径和名称,要求菜单,动态添加打开过的文件路径和名称,要求最多显示最近打开
37、的五个文件名,单击每个显示最多显示最近打开的五个文件名,单击每个显示的文件名同样可以打开该文件。如图的文件名同样可以打开该文件。如图7-5和图和图7-6所示。所示。 图图7-5 图图7-61提示:菜单设计如表提示:菜单设计如表7-5所示。所示。 表表7-5 菜单项属性设置菜单项属性设置菜单项标题(Caption)名称(Name)索引(Index)可以(Visible)文件(F)文件(&F) mnufile True .打开 打开 mnuopen True . - - mnueline2 False . mnufilelist 0 False .- - mnuline1 True .退出 退出
38、mnuexit True 参考代码:参考代码:Private Sub mnuopen_Click()Static mnunum As Integer, inputdata As String, i As IntegerCommonDialog1.ShowOpenText1.Text = Open CommonDialog1.FileName For Input As #1Do While Not EOF(1)Line Input #1, inputdataText1.Text = Text1.Text + inputdata + Chr(13) + Chr(10)LoopClose #1mnu
39、line2.Visible = TrueIf mnunum 5 Thenmnunum = mnunum + 1Load mnufilelist(mnunum)mnufilelist(mnunum).Caption = CommonDialog1.FileNamemnufilelist(mnunum).Visible = True ElseFor i = 0 To 4 mnufilelist(i).Caption = mnufilelist(i + 1).CaptionNext imnufilelist(5).Caption = CommonDialog1.FileNameEnd IfEnd SubPrivate Sub mnufilelist_Click(Index As Integer)Dim inputdata As StringText1.Text = Open mnufilelist(Index).Caption For Input As #1Do While Not EOF(1)Line Input #1, inputdataText1.Text = Text1.Text + inputdata + Chr(13) + Chr(10)LoopClose #1End SubPrivate Sub mnuexit_Click() EndEnd S第七章结束第七章结束