




已阅读5页,还剩91页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章 功能列表菜单和工具栏,菜单和工具栏是应用程序最重要的组成部分之一。在Windows环境下,几乎所有应用程序都是通过菜单和工具栏实现操作,为用户提供运行命令的快捷方式。学习本章,读者可以了解有关菜单和工具栏的基本知识,掌握如何编写设计菜单和工具栏并运行相应代码的操作方法。,9.1 菜 单 栏,菜单是用户界面中的重要组成部分。在程序中加入菜单可以便于用户使用。用户对应用文档的许多操作命令都可以从菜单开始。现在菜单的表现形式越来越漂亮,功能也越来越强大,并且提供了菜单的自定义功能,用户可以定制自己需要的菜单项。典型菜单可分为菜单栏、菜单、菜单项、子菜单、弹出式菜单等,如图9.1所示。,图9.1 菜单构成元素,表9.1 菜单构成元素,9.1.1 创建菜单,Visual Basic提供了两种方法创建菜单。第一种使用Visual Basic自带的添加菜单模板向导。用户使用其可以添加标准应用程序菜单。另一种是利用菜单编辑器(Memu Editor),使用其可以很方便根据用户的需要编辑各种形式的菜单。具体创建方法如下所示。,1菜单模板向导,菜单模板向导可以添加标准应用程序菜单。默认情况下,Visual Basic不会显示菜单模板。菜单模板属于Visual Basic的外接程序,可以通过“外接程序”|“外接程序管理器”命令来完成。,【示例9-1】,使用菜单栏模板创建一个菜单栏,包括“文件”、“编辑”、“帮助”菜单命令。操作过程如下所示。 (1)选择“外接程序”|“外接程序管理器”命令,弹出“外接程序管理器”对话框,如图9.2所示。,图9.2 “外接程序管理器”对话框,(2)选择列表框中的“VB 6模板管理器”命令,选择右下角的“加载/卸载”复选框,单击“确定”按钮,关闭对话框。 (3)单击菜单栏“工具”命令,“工具”菜单中增加3个选项。其中之一就是菜单模板,即“添加菜单”选项,如图9.3所示。,图9.3 “添加菜单”选项,(4)打开需要添加菜单的窗体,单击“添加菜单”命令,弹出“添加菜单”对话框,如图9.4所示。,图9.4 “添加菜单”对话框,(5)选择“文件菜单”图标,单击“确定”按钮,即可自动在打开的窗体中添加菜单,如图9.5所示。,图9.5 已添加菜单窗体,使用“菜单模板”可以非常容易创建应用程序所需的标准菜单,适合标准的Windows应用程序。但对具有某些特殊标题或形式的菜单,还是需要用菜单编辑器来完成。,2菜单编辑器,菜单编辑器是创建和修改菜单的对话框。在开发程序时,可以创建自定义菜单或对已有菜单进行修改。打开待创建菜单的窗体,以下3种方法可以启动“菜单编辑器”对话框。 选择“工具”|“菜单编辑器”命令。 单击工具栏中的菜单编辑器图标。 按下快捷键Ctrl+E。 弹出的“菜单编辑器”对话框,如图9.6所示。,图9.6 “菜单编辑器”对话框,表9.2为菜单编辑器选项内容。,表9.2 “菜单编辑器”选项,【示例9-2】,使用菜单编辑器添加一个菜单栏,包括“文件”菜单。下面以“文件”菜单为例,演示如何创建菜单。 (1)在“标题”文本框中输入“文件”,输入的标题自动在菜单控件列表框中显示。 (2)在“名称”文本框中输入file,在程序中作为唯一标识名称。 (3)单击“下一个”按钮,注意列表框高亮部分自动向下移动一行。 (4)重复(1)(3)步骤创建新菜单项。 (5)单击“确定”按钮,关闭“菜单编辑器”对话框。,注意:在“菜单编辑器”对话框中添加菜单时,“标题”、“名称”、“索引”属性唯一且不能为空。“帮助上下文ID”属性与定义帮助文件在程序中相关联。“窗体列表”属性只有在多文档窗体中才能定义当前菜单为顶级菜单,且自动将窗体列表追加到菜单上。“复选框”属性决定菜单项是否被复选。“有效”属性当菜单项无效时为False。“可见”属性决定菜单项是否显示。在添加菜单过程中,要依次按所介绍步骤操作。如果操作错误,可以在“菜单编辑器”对话框中进行修改。,9.1.2 定制菜单,在应用程序开发中,开发人员可能需要定制或者修改编辑好的菜单。使用“菜单编辑器”对话框可以轻而易举地完成修改任务,修改菜单操作如表9.3所示。,表9.3 修改菜单,1分隔菜单项,分隔符是菜单项间的一个水平直线,可以将包含很多菜单项的菜单分成相关组。菜单分隔符如图9.7所示。,图9.7 分隔菜单项,【示例9-3】,修改已有菜单项,添加分隔符。操作过程如下所示。 (1)在“菜单编辑器”对话框中单击“插入”按钮,插入一个空白菜单项,设置与下一菜单项相同缩进级别。 (2)在“标题”文本框中输入分隔符“-”。 (3)在“名称”文本框中随意输入内容,注意不要与其他菜单项重复。 (4)单击“确定”按钮,关闭“菜单编辑器”对话框。,2设置访问键和快捷键,Windows应用程序中许多菜单项可以用组合键来访问。组合键包括两种类型:访问键和快捷键。 访问键:访问键为用户提供了一种使用键盘的快捷方法。访问键由菜单项标题中字母下方的下划线来表示(如File中的F)。在“标题”属性中相应字母的下方增加连接符&(如&File),可以为菜单项中某一项或全部项创建不同访问键。 快捷键:快捷键可以通过一个键(如Delete键)或者组合键直接运行某一菜单项,可以快速运行命令。 在“菜单编辑器”对话框中选取待设置快捷键的菜单项,从“快捷键”下拉列表框中选择合适的键。该键信息显示在菜单项旁边。以“文件”|“打印”菜单项为例,指定Ctrl+P作为快捷键。 选择“文件”|“打印”命令,在“快捷键”选项中选择Ctrl+P。在程序运行时,按下Ctrl+P键,即可调用打印菜单项。常用快捷键如表9.4所示。,表9.4 常见快捷键,9.1.3 创建多级菜单,Windows应用程序中典型菜单一般都包含多级菜单。顶层菜单项是在应用程序中菜单栏显示的菜单项。单击顶层菜单项打开该项的子菜单。子菜单中的每一项都可以代表一个程序命令或另一个子菜单,如图9.8所示。“文件”是菜单栏标题,其下包含“新建”、“打开”等几个子菜单。其中,“新建”子菜单下还包含有2个子菜单。“新建”又成为子菜单标题,“图片”和“表格”成为子菜单项。,图9.8 多级菜单,技巧:Visual Basic允许菜单层级达到6级,但在实际应用中避免太多层级出现,应限制在23级。,在“菜单编辑器”对话框的菜单控件列表框中,列出了当前窗体的所有菜单控件。当在“标题”文本框输入一个菜单项标题时,该标题也会出现在菜单控件列表框中。菜单控件在菜单控件列表框中的位置决定该控件是菜单标题、菜单项、子菜单标题还是子菜单项。 “列表框”中最左侧的菜单控件作为菜单标题显示在菜单栏中。 “列表框”中缩进的菜单控件是其上一级菜单的子菜单,只有选择上一级菜单才会显示下一级菜单。 一个缩进的子菜单,如果后面还有更缩进一级的子菜单,其将成为一个子菜单的标题,包含后续的子菜单项。,【示例9-4】,以图9.8所示菜单为例,说明如何创建多级菜单。 (1)在“菜单编辑器”对话框的“标题”文本框中输入“文件”,“名称”文本框中输入file,其余选项按照默认属性。 (2)单击“下一个”按钮,注意列表框高亮部分自动向下移一行。 (3)在“菜单编辑器”对话框的“标题”文本框中输入“新建”,“名称”文本框中输入new。注意,单击列表框上部向右箭头缩进一级,表明其是“文件”的子菜单项。 (4)在“菜单编辑器”对话框的“标题”文本框中输入“图片”,“名称”文本框中输入pic。注意,单击列表框上部向右箭头,再缩进一级表明是“新建”的子菜单项。 (5)重复以上操作创建其他菜单(注意,“打开”子菜单等单击列表框向左箭头,表明与“新建”是同一级别)。 (6)单击“确定”按钮,关闭“菜单编辑器”对话框。,9.1.4 实现菜单命令功能,创建菜单后,需要赋予其灵魂编写代码。代码是按程序开发人员的要求运行的命令。与窗体和其他控件相同,在事件过程中编写代码来实现此功能。菜单项只有一个事件:单击(Click)事件。用户单击此菜单项或选取该项按下Enter键时触发此事件。 提示:当用户使用访问键或快捷键访问一个菜单项时,也会触发菜单项的Click事件。,1编写菜单执行代码,【示例9-5】,为“文件”|“退出”菜单项为例编写代码,实现“退出”程序功能。 (1)打开窗体,选择“文件”|“退出”命令,自动打开“退出”菜单项的Click事件的代码编辑窗口。 (2)本小节实例包含Msgbox()函数。有关Msgbox()函数用法请参见10.2节。在事件过程中输入下列代码。 (3)关闭代码编辑窗口。 (4)运行程序,窗体如图9.9所示。,图9.9 示例9-5的运行结果,2代码编写菜单属性,除了可以在“菜单编辑器”对话框中修改菜单项选项以外,还可以在应用程序中用代码动态地修改选项。应用程序中可以随着应用程序的需要改变菜单项的属性,设置是否可视、是否复选、是否有效等。,(1)复选框Checked,【示例9-6】,以“视图”|“状态栏”菜单项为例设置。当“状态栏”菜单项显示时,在“状态栏”菜单项添加复选标志。状态栏名称为mnuViewstatus。代码如下: 设置是否复选 MnuViewstatus.Checked=Not mnuViewstatus.Checked Checked属性只有True或False。上面的代码利用布尔逻辑Not表示相反取值,表示切换复选属性。,(2)有效Enable,【示例9-7】,以“文件”|“保存”菜单项为例设置。当无文档打开时,不需要使用该项,显示为无效状态。“保存”菜单项名称为mnufilesave。代码如下: 设置有效 Mnufilesave.enable=True 设置无效 Mnufilesave.enable=False,(3)可见Visible,【示例9-8】,以“文件”|“关闭”菜单项为例设置。当有文档打开时,显示该项。当无文档打开时,不需要显示该项。“关闭”菜单项名称为mnufileclose。代码如下: 设置显示 Mnufileclose.Visible=True 设置消失 Mnufileclose.Visible=False,9.1.5 菜单栏应用实例,本小节将通过以上不同方法分别创建以下菜单实例。,1标准菜单,【示例9-9】,用菜单模板向导创建标准菜单(假设Visual Basic中已经添加菜单模板选项)。建立一个标准菜单,包括文件、编辑、帮助菜单,其下包括多个分隔符分组子菜单项。操作步骤如下: (1)创建一个新工程。 (2)新建一个待添加菜单窗体。 (3)选择“工具”|“添加菜单”命令,弹出“添加菜单”对话框。 (4)选择“文件菜单”图标,单击“确定”按钮。 (5)选择“编辑菜单”图标,单击“确定”按钮。 (6)选择“帮助菜单”图标,单击“确定”按钮。 (7)关闭“添加菜单”对话框。 (8)选择“文件”|“退出”命令,打开代码窗体编写代码。具体代码请参考9.1.5小节的代码。 (9)按下F5键运行程序,窗体如图9.10所示。,图9.10 运行标准菜单窗体结果,2多级菜单,【示例9-10】,用菜单编辑器创建一个多级菜单,包括“文件”及其子菜单“新建”、“保存”、“打开”、“退出”选项。其中,“新建”子菜单包含“图片”和“表格”2个子菜单项,“图片”菜单项复选为True。“文件”和“退出”访问键分别设为F和X,子菜单“保存”快捷键设置为Ctrl+S,子菜单“打开”菜单项“有效”属性设为False,如图9.11所示。操作过程如下所示。,图9.11 多级菜单,(1)创建一个新工程。 (2)新建一个待添加菜单窗体。 (3)选择“工具”|“菜单编辑器”命令,弹出“菜单编辑器”对话框。 (4)设置属性如表9.5所示。,表9.5 菜单属性,(5)在“标题”文本框中输入“文件(&F)”,“名称”文本框中输入Mnufile。单击“下一个”按钮。 (6)其他按表9.5所示依次添加菜单项。 (7)关闭“菜单编辑器”对话框。 (8)按下F5键运行程序,如图9.8所示。 注意:设置访问键时必须在“标题”中相应字母下方输入&字符。,9.2 弹出式菜单,弹出式菜单是独立于菜单栏显示在窗体上的浮动菜单。在窗体上显示的项目取决于右键指针所处位置。通常用于对窗体中特定区域操作或选项进行操作,又被称为上下文菜单,具有使用方便、灵活性较强的特点。,9.2.1 创建弹出式菜单,创建弹出式菜单与创建标准菜单方法相同,采用菜单模板或菜单编辑器均可以创建弹出式菜单。注意,弹出式菜单应隐藏起来,避免显示在菜单栏上。隐藏菜单只要将顶级菜单项的“可见”(Visible)属性设置为False即可,如图9.12所示。 注意:隐藏菜单既可以为弹出式菜单,也可以称为标准菜单栏的一部分。,图9.12 弹出式菜单,【示例9-11】,创建一个弹出式菜单。操作过程如下所示。 (1)打开“菜单编辑器”对话框,添加一个顶级菜单项。其“标题”文本框设置为“编辑”,“名称”文本框设置为edit,取消选中“可见”复选框。 (2)创建相应的子菜单项如表9.6所示。,表9.6 设置菜单属性,(3)关闭“菜单编辑器”对话框。 注意:菜单edit不会显示在窗体菜单栏上,但是子菜单可以在“菜单编辑器”对话框中编辑和修改。,9.2.2 显示弹出式菜单,当弹出式菜单建立后,需要在特定条件下使其显示在窗体上。该方法可以应用于窗体任何位置,但是多数情况下响应右击操作。使用Popupmenu方法来实现,标准语法为: Object.popupmenu menuName,Flags,X,Y,Boldcommand 参数说明: Object:对象名称,一般是窗体名称。 MenuName:表示菜单名称。 Flags:表明显示位置(如表9.7所示)。 X,Y:表示坐标,与Flags配合使用。 Boldcommand:显示加粗一个指定菜单项。,表9.7 Flags参数,除menuName外,其余参数都是可选的。默认情况下,弹出式菜单只能在当前窗体中显示。如果需要在其他窗体显示,必须加上窗体名称。X和Y分别表示弹出位置的横坐标和纵坐标。默认情况下,其表示在当前位置显示。弹出式菜单位置由X、Y和Flags共同决定。 显示菜单必须要在窗体的MouseDown事件中,该事件响应所有单击事件。在鼠标事件中,单击和右击均显示弹出式菜单,不符合使用习惯。在MouseDown事件中设置为右击事件显示弹出式菜单。,【示例9-12】,显示一个弹出式菜单。代码如下: If Button=2 then popupmenu edit 说明:Button变量值为1,表明是左键;变量值为2,表明是右键。,9.2.3 弹出式菜单应用实例,【示例9-13】,创建弹出式菜单。本示例将以图9.9所示菜单为例创建以下菜单。 (1)创建一个新工程。 (2)新建一个待添加菜单窗体。 (3)选择“工具”|“菜单编辑器”命令,弹出“菜单编辑器”对话框。 (4)设置如表9.6所示的属性。 (5)在“标题”文本框中输入“编辑”,“名称”文本框中输入Edit。单击“下一个”按钮。取消选中“可见”复选框。单击“下一个”按钮。 (6)在“标题”文本框中输入“剪切”,“名称”文本框中输入Cut。单击缩进一级。在“快捷键”下拉列表框中选择Ctrl+X。单击“下一个”按钮。,(7)在“标题”文本框中输入“复制”,“名称”文本框中输入Copy。在“快捷键”下拉列表框中选择Ctrl+C。单击“下一个”按钮。 (8)在“标题”文本框中输入“粘贴”,“名称”文本框中输入Paste。在“快捷键”下拉列表框中选择Ctrl+P。单击“下一个”按钮。 (9)在“标题”文本框中输入“删除”,“名称”文本框中输入Del。在“快捷键”下拉列表框中选择Ctrl+D。 (10)关闭“菜单编辑器”对话框。 (11)双击窗体打开代码编辑窗口,左侧对象下拉列表框中选择Form选项,右侧过程下拉列表框中选择MouseDown事件过程。,(12)在Form_MouseDown事件中输入以下代码: 01 Private Sub Form_MouseDown(Button As Integer, 02 Shift As Integer, X As Single, Y As Single) 03 If Button = 2 Then PopupMenu Edit 04 右击显示弹出式菜单 05 End Sub (13)单击工具栏中的启动按钮或按下F5键,在窗体上右击,显示弹出式菜单,运行窗体如图9.13所示。,图9.13 查看弹出式菜单,9.3 工 具 栏,工具栏(Toolbox)通常包含对应应用程序菜单命令的按钮,进一步方便应用程序命令的使用。工具栏采用图标按钮形式来显示相应的功能。本节将介绍如何创建工具栏以及编写程序响应工具栏事件。,9.3.1 什么是工具栏,工具栏通常包含一些带有图标的按钮,通常与菜单命令相对应,提供了快速访问应用程序常用功能的简便方法。标准工具栏如图9.14所示。,图9.14 工具栏样式,工具栏控件是Microsoft Windows Common Controls 6.0控件组中的一个控件。除了工具栏控件外,它还包括创建工具栏需要的ImageList等几个控件。默认情况下,工具栏控件不会出现在工具箱中。如果添加工具栏控件,选择“工程”|“部件”命令,弹出“部件”对话框,如图9.15所示。选择“Microsoft Windows Common Controls 6.0”复选框。单击“确定”按钮,Visual Basic左侧工具箱会自动添加几个控件。其中,ToolBox控件为工具栏控件,ImageList控件为图像列表控件。,图9.15 “部件”对话框,下面将结合实例介绍如何创建工具栏和编写代码。,9.3.2 创建工具栏,创建工具栏需要多个控件:工具栏控件(Toolbox控件)和ImageList控件。ImageList控件包括其他控件需要使用的图片集(详见9.3.3节)。,【示例9-14】,假设已经在“工具箱”上添加“工具栏”控件。创建工具栏操作步骤如下: (1)打开需要添加“工具栏”控件的窗体。 (2)双击工具箱中的工具栏控件,默认条件下窗体顶部添加一个空白“工具栏”控件,宽度与窗体相同,运行时不显示。 (3)“工具栏”控件可以沿窗体的四边定位或者自由浮动。Align属性设置如表9.8所示。,表9.8 工具栏Align属性设置,(4)右击控件,在弹出的快捷菜单中选择“属性”命令,弹出“属性页”对话框,如图9.16所示。,图9.16 “属性页”对话框,其中,“通用”选项卡中的选项用于控制工具栏的外观和行为。其属性如表9.9所示。,表9.9 工具栏“通用”选项卡属性,(5)至此,一个基本工具栏控件已经添加到窗体。 9.3.3节为“工具栏”控件添加图标。9.3.4节为“工具栏”添加按钮。,9.3.3 添加图标,工具栏控件添加到窗体后,需要将要显示在工具栏上的图像添加到“图像列表”ImageList控件中。,【示例9-15】,为ImageList控件添加图像。 (1)打开待添加“图像列表”控件的窗体。 (2)双击工具箱ImageList控件,窗体中自动添加一个ImageList控件。因程序运行时该控件不显示,因此无需更改其位置。 (3)右击ImageList控件,在弹出的快捷菜单中选择“属性”命令,弹出“属性页”对话框,如图9.17所示。,图9.17 “属性页”对话框,(4)选择“图像”选项卡。其中包括“插入图片”和“删除图片”按钮,“索引”和“关键字”属性。单击“插入图片”按钮,弹出“添加图片”对话框,插入所需图片。选中待删除图片,单击“删除图片”按钮即可删除不需要的图片。“图像列表”控件为每图片赋予唯一索引和唯一关键字。 注意:“图像列表”控件中图片索引必须为唯一。“工具栏”控件中引用图像以索引为标志。 (5)插入所需图片,单击“确定”按钮。,9.3.4 添加按钮,工具栏控件中添加按钮要在“属性页”对话框的“按钮”选项卡中设置。其中包括“插入按钮”、“删除按钮”两个按钮和“标题”、“关键字”、“样式”、“图像”等几个属性,如图9.18所示。,图9.18 “图像列表”按钮对话框,【示例9-16】,为工具栏控件添加图标。操作过程如下所示。 (1)单击“插入按钮”按钮,将自动在“工具栏”中插入一个无图按钮。单击“删除按钮”将删除当前按钮。 (2)新建“工具栏”按钮必须要设置以下几个属性。 “关键字”属性:指定在代码中表示按钮的字符串。每一按钮必须是唯一且有意义,方便在编程中使用。 “图像”属性:指定要显示在图像列表中的图像索引,必须与ImageList控件中的图像索引相一致。如果不希望显示按钮图片,可以将其设置为0。 “样式”属性:包含6种不同类型按钮,如表9.10所示。,表9.10 工具栏按钮类型,(3)“工具栏”按钮还包括以下几个重要属性。 “标题”属性:显示在按钮图像下方。 “描述”属性:显示在自定义工具栏对话框描述文本。 “工具提示文本”属性:当鼠标悬停时,且“工具栏”的“显示提示”属性为True时,显示此文本。 “值”属性:显示按钮状态,包括按钮按下或弹起两种状态。 (4)创建按钮后,单击“确定”按钮,关闭“属性页”对话框。,9.3.5 实现工具栏功能,通过以上小节所述步骤,已经创建一个完整“工具栏”框架。只有为其添加代码,才能执行功能。通过“工具栏”自身的ButtonClick事件可以为其编写代码。通过“关键字”属性来判断按钮是否被单击。 (1)双击窗体上的“工具栏”控件,弹出代码编辑窗
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025西藏日喀则市高级技工学校招聘专业实训指导教师和后勤保障人员20人考试参考题库及答案解析
- 2025年商丘虞城县招聘社区工作者和政务服务工作人员100人备考考试试题及答案解析
- 2025河南商丘夏邑县中医院招聘卫生专业技术人员41人备考考试题库附答案解析
- 2026华虹集团校园芯大使招募备考练习试题及答案解析
- 2025年马鞍山当涂县护河初中招聘外聘物理教师1名考试模拟试题及答案解析
- 2025云南曲靖市人力资源和社会保障局招聘公益性岗位工作人员3人备考考试试题及答案解析
- 农民专业合作社采购农业资源协议
- 输油管道设计规范及工程案例分析
- 医院护理质量管理及提升方案
- 医疗器诫销售与使用协议
- 医院感染预防与控制标准规范知识考试题库(含答案)
- 垃圾电厂宣传课件
- 认识有理数(第1课时)课件 2025-2026学年北师大版(2024)七年级数学上册
- 幼儿园三重一大会议记录范文
- 2025至2030药用包装铝管行业项目调研及市场前景预测评估报告
- 胜利油田安全课件
- 二级豆粕创新创业项目商业计划书
- 纸箱厂企业介绍
- 2025-2026学年统编版小学语文四年级上册教学计划及进度表
- 《液压与气动》课件(共十三章)
- 2025年新版病历书写规范与解读
评论
0/150
提交评论