Visual Basic 菜单在应用程序中的使用 二
2008-02-23 07:01:17来源:互联网 阅读 ()
创建子菜单
所创建的每个菜单可以包含最多五级子菜单。子菜单会分支出另一个菜单以显示它自己的菜单项。需使用子菜单的场合有:
菜单栏已满。
某一特定菜单控件很少被用到。
要突出某一菜单控件与另一个的关系。
然而,如果菜单栏中还有空间,最好再创建一个菜单标题而不是子菜单。这样,当菜单拉下时所有控件都可见。限制使用子菜单也是一种好的编程策略,它可以免去查找应用程序菜单界面的负担(大多数应用程序都只使用一级子菜单)。
在菜单编辑器中,在不是菜单标题的菜单控件之下缩进的任何菜单控件,都是子菜单控件。一般来说,子菜单控件可以包括子菜单项、分隔符条和子菜单标题。
要创建子菜单,请按照以下步骤执行:
1. 创建想作为子菜单标题的菜单项。
2. 创建将出现在新子菜单中的各个项目,然后单击右箭头按钮将它们缩进。
在菜单编辑器中每一缩进级前都加了四个点 (....)。要删除一缩进级,单击左箭头按钮。
注意 如果想用多于一级的子菜单,可以考虑使用对话框来替代。对话框允许在一个地方指定好几个选择。关于使用对话框的内容,请参阅本章后面的“对话框”。
创建菜单控件数组
菜单控件数组就是在同一菜单上共享相同名称和事件过程的菜单项目的集合。菜单控件数组使用于:
在运行时要创建一个新菜单项,它必须是控件数组中的成员。如 MDINotepad 示例,它就用一个菜单控件数组来存储新近打开的文件清单。
简化代码,因为通用代码块可以被所有菜单项使用。
每个菜单控件数组元素都由唯一的索引值来标识,该值在菜单编辑器上“Index 属性框”中指定。当一个控件数组成员识别一个事件时,Visual Basic将其 Index 属性值作为一个附加的参数传递给事件过程。事件过程必须包含有核对 Index 属性值的代码,因而可以判断出正在使用的是哪一个控件。
详细信息 关于控件数组的详细信息,请参阅第七章“使用 Visual Basic 的标准控件”中的“使用控件数组”。要在菜单编辑器中创建菜单控件数组,请按照以下步骤执行:
1. 选取窗体。
2. 从“工具”菜单中,选取“菜单编辑器”。
- 或 -
在“工具栏”上单击“菜单编辑器”按钮。
3. 在“标题”文本框中,键入想出现在菜单栏中的第一个菜单标题的文本。菜单标题文本显示在菜单控件列表框中。
4. 在“名称”文本框中,键入将在代码中用来引用菜单控件的名称。保持“索引”框是空的。
5. 在下一个缩进级,通过设定“标题”和“名称”来创建将成为数组中第一个元素的菜单项。
6. 将数组中第一个元素的“索引”设置为 0。
7. 在第一个的同一缩进级上创建第二个菜单项。
8. 将第二个元素的“名称”设置成与第一个元素相同,且把它的“索引”设置为 1。
9. 对于数组中的后续元素重复步骤 5- 8。
重点 菜单控件数组的各元素在菜单控件列表框中必须是连续的,而且必须在同一缩进级上。创建菜单控件数组时,要把在菜单中出现的分隔符条也包括进去。
运行时创建和修改菜单
设计时创建的菜单也能动态地响应运行时的条件。例如,如果菜单项的动作在某些点上成为不适当时,通过使其失效可防止对该菜单项的选取。比如:在 MDI NotePad 应用程序中,如果剪贴板上没有任何文本,则“编辑”菜单中的“粘贴”菜单项变暗,因而就不能被选。
如果有一个菜单控件数组,也可以动态地增加菜单项。这将在本主题后面的“运行时添加菜单控件”中讲述。
也可以编写应用程序,使用复选标志来指示几个命令中的哪一个是最后选取的。例如:如果工具栏被显示,MDI NotePad 应用程序工具栏的“选项”菜单项就会显示一个复选标志。本节描述的其它菜单控件功能包括使菜单项可见或不可见以及增加或删除菜单项操作的代码。
使菜单命令有效或无效
所有的菜单控件都具有 Enabled 属性,当这个属性设为 False 时,菜单命令无效使它不响应动作。当 Enabled 设为 False 时,快捷键的访问也无效。一个无效的菜单控件会变暗,如图 6.11 所示的“粘贴”菜单项。
例如:下列语句使 MDI NotePad 应用程序中“编辑”菜单上的“粘贴”菜单项无效。
mnuEditPaste.Enabled = False
菜单标题的无效使得整个菜单无效,因为不首先单击菜单标题,就不能访问任何菜单项。例如:下列代码将使 MDI NotePad 应用程序的“编辑”菜单无效。
mnuEdit.Enabled = False
显示菜单控件上的复选标志
使用 Checked 属性,可以把一个复选标志放置在菜单上,以便:
表示打开/关闭条件的状态。选取菜单命令可交替地增加和删除此复选标志。
指示几个模式中哪一个正在起作用。MDI NotePad 应用程序的“选项”菜单使用复选标志来指示工具栏的状态,如图 6.12 所示。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:文件系统控件方案
- Visual Basic 菜单在应用程序中的使用 2008-02-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash