visual basic 菜单在应用程序中的使用

上传人:xzh****18 文档编号:35461265 上传时间:2018-03-16 格式:DOC 页数:14 大小:127KB
返回 下载 相关 举报
visual basic 菜单在应用程序中的使用_第1页
第1页 / 共14页
visual basic 菜单在应用程序中的使用_第2页
第2页 / 共14页
visual basic 菜单在应用程序中的使用_第3页
第3页 / 共14页
visual basic 菜单在应用程序中的使用_第4页
第4页 / 共14页
visual basic 菜单在应用程序中的使用_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《visual basic 菜单在应用程序中的使用》由会员分享,可在线阅读,更多相关《visual basic 菜单在应用程序中的使用(14页珍藏版)》请在金锄头文库上搜索。

1、再论窗体再论窗体除窗体设计原理以外,还需考虑应用程序的开始与结束。有一些技巧用于决定应用程序启动时的外观。熟悉应用程序卸载时进行的一些处理也很重要。设置启动窗体设置启动窗体在缺省情况下,应用程序中的第一个窗体被指定为启动窗体。应用程序开始运行时,此窗体就被显示出来(因而最先执行的代码是该窗体的 Form_Initialize 事件中的代码)。如果想在应用程序启动时显示别的窗体,那么就得改变启动窗体。要改变启动窗体,请按照以下步骤执行:1. 从“工程”菜单中,选取“工程属性”。2. 选取“一般”。3. 在“启动对象”ListBox 中,选取要作为新启动窗体的窗体。4. 选取“确定”。没有启动窗体

2、时的启动没有启动窗体时的启动有时候也许要应用程序启动时不加载任何窗体。例如:可能想先运行装入数据文件的代码,然后再根据数据文件的内容决定显示几个不同窗体中的哪一个。要做到这一点,可在标准模块中创建一个名为 Main 的子过程,如下面的例子所示。Sub Main()Dim intStatus As Integer调用一个函数过程来检验用户状态。intStatus = GetUserStatus根据状态显示某个启动窗体。If intStatus = 1 ThenfrmMain.ShowElsefrmPassword.ShowEnd If这个过程必须是一个子过程,且不能在窗体模块内。欲将 Sub M

3、ain 过程设为启动对象,可从“工程”菜单中,选取“工程属性”,再选“一般”,然后从“启动对象”框中选定“Sub Main”。显示启动时的快速显示显示启动时的快速显示如果启动时有一个较长的执行过程,例如要从数据库中装入大量数据或者要装入一些大型位图,这时可能希望在启动时给出一个快速显示。快速显示是一种窗体,它通常显示的是诸如应用程序名,版权信息和一个简单的位图等内容。启动 Visual Basic 时所显示的屏幕就是一个快速显示。要显示快速显示,需用 Sub Main 过程作为启动对象,并用 Show 方法显示该窗体:Private Sub Main()显示快速显示。frmSplash.Sho

4、w在此处添加启动过程。.显示主窗体并卸载快速显示。frmMain.ShowUnload frmSplashEnd Sub当一些启动例程正在执行时,快速显示能吸引用户的注意,造成应用程序装载很快的错觉。当这些启动例程完成以后,可以装入第一个窗体并使其快速显示卸载。对于快速显示的设计来说,尽量简单为好。如果使用大量位图或者大量控件,则快速显示本身装入将会变慢。结束应用程序结束应用程序当所有窗体都已关闭并且没有代码正在执行时,事件驱动的应用程序就停止运行。如果最后一个可见窗体关闭时仍有隐藏窗体存在,那么,应用程序表现为已经结束了(因为没有可见的窗体),可实际上应用程序仍在继续运行,直至所有隐藏窗体都

5、关闭为止。之所以出现这种情况,是因为对已卸载窗体的属性或控件的任何访问,都将导致隐含地、不予显示地加载那个窗体。避免出现关闭应用程序时的这类问题,最好的办法是确保所有的窗体都已卸载。如果有一个以上窗体,可以使用 Forms 集合和 Unload 语句。例如,在主窗体上可以用一个名为 cmdQuit 的命令按钮退出程序。如果应用程序只有一个窗体,则 Click 事件过程可简单为:Private Sub cmdQuit_Click ()Unload MeEnd Sub如果应用程序使用多窗体,通过把代码放入主窗体的 Unload 事件过程可以卸载这些窗体。可以使用 Forms 集合确保找到并关闭所有

6、窗体。下列代码就是使用窗体集合来卸载所有窗体的:Private Sub Form_Unload (Cancel As Integer)Dim i as integer在窗体集合中循环并卸载每个窗体。For i = Forms.Count - 1 to 0 Step - 1Unload Forms(i)NextEnd Sub有一些情况需要不顾现存窗体或对象的状态而结束应用程序。为此,VisualBasic 提供了 End 语句。End 语句使应用程序立即结束:在 End 语句之后的代码不会执行,也不会再有事件发生。特别是,Visual Basic 将不执行任何窗体的 QueryUnload、Un

7、load 或 Terminate事件过程。对象的各个引用将被释放,但如果定义有自己的类,Visual Basic 将不执行由这些类所创建对象的 Terminate 事件。除 End 语句以外,Stop 语句可以暂停一个应用程序。然而,Stop 语句只能在调试时使用,因为它不释放对象的引用。详细信息详细信息 关于 Stop 语句的信息,请参阅第十三章“调试代码和处理错误”中的“使用中断模式”,以及语言参考的“Stop 语句”。关于窗体集合或者释放对象引用的信息,请参阅第九章“用对象编程”。在应用程序中使用菜单许多简单的应用程序只由一个窗体和几个控件组成,但是通过增加菜单可以增强 Visual B

8、asic 应用程序的功能。这一节将介绍如何在应用程序中创建菜单和使用菜单。用菜单编辑器创建菜单用菜单编辑器可以创建新的菜单和菜单栏、在已有的菜单上增加新命令、用自己的命令来替换已有的菜单命令以及修改和删除已有的菜单和菜单栏。要显示菜单编辑器,请:从“工具”菜单上,选取“菜单编辑器”。- 或者 -在“工具栏”上单击“菜单编辑器”按钮。这就会打开菜单编辑器,如图 6.7 所示。尽管大多数菜单控件属性可用菜单编辑器设置,所有的菜单属性在“属性”窗口中也都是可用的。菜单控件的两个最重要的属性是:Name这是代码中用来引用菜单控件的名字。Caption这是出现在控件上的文本。菜单编辑器中的其它属性,包括

9、 Index、Checked 和 NegotiatePosition,在本章稍后介绍。使用菜单编辑器中的列表框菜单控件列表框(位于菜单编辑器的下部)列出当前窗体的所有菜单控件。当在标题文本框中键入一个菜单项时,该项也会出现在菜单控件列表框中。从列表框中选取一个已存在的菜单控件可以编辑该控件的属性。例如,图 6.7 表明典型应用程序中“文件”菜单的各种菜单控件。菜单控件在菜单控件列表框中的位置决定了该控件是菜单标题、菜单项、子菜单标题还是子菜单项:位于列表框中左侧平齐的菜单控件作为菜单标题显示在菜单栏中。列表框中被缩进过的菜单控件,当单击其前导的菜单标题时才会在该菜单上显示。一个缩进过的菜单控件

10、,如果后面还紧跟着再次缩进的一些菜单控件,它就成为一个子菜单的标题。在子菜单标题以下缩进的各个菜单控件,就成为该子菜单的菜单项。一个以连字符 (-) 作为它的 Caption 属性的菜单控件,作为一个分隔符条出现。分隔符条可把菜单项划分成若干个逻辑组。 注意 如果菜单控件是一个菜单标题、带有子菜单项、被复选或无效、或者有一个快捷键,那么它就不能作为分隔符条。要在菜单编辑器中创建菜单控件,请按照以下步骤执行:1. 选取该窗体2. 从“工具”菜单中,选取“菜单编辑器”。- 或者 -在“工具栏”上单击“菜单编辑器”按钮。3. 在“标题”文本框中,为第一个菜单标题键入希望在菜单栏上显示的文本。如果希望

11、某一字符成为该菜单项的访问键,也可以在该字符前面加上一个 (&) 字符。在菜单中,这一字符会自动加上一条下划线。菜单标题文本显示在菜单控件列表框中。4. 在“名称”文本框中,键入将用来在代码中引用该菜单控件的名字。请参阅本章后面“菜单标题与命名准则”。5. 单击向左或向右箭头按钮,可以改变该控件的缩进级。6. 如果需要的话,还可以设置控件的其他属性。这一工作可以在菜单编辑器中做,也可以以后在“属性”窗口中做。7. 选取“下一个”就可以再建一个菜单控件。- 或者 -单击“插入”可以在现有的控件之间增加一个菜单控件。也可以单击向上与向下的箭头按钮,在现有菜单控件之中移动控件。8. 如果窗体所有的菜

12、单控件都已创建,选取“确定”可关闭菜单编辑器。创建的菜单标题将显示在窗体上。在设计时,单击一个菜单标题可下拉其相应的菜单项。分隔菜单项分隔菜单项分隔符条作为菜单项间的一个水平行显示在菜单上。在菜单项很多的菜单上,可以使用分隔符条将各项划分成一些逻辑组。例如 Visual Basic 的“帮助”菜单,使用分隔符条将其菜单项分成三组,如图 6.8 所示。要在菜单编辑器中创建分隔符条,请按照以下步骤执行:1. 如果想在一现有菜单中增加一个分隔符条,选取“插入”,在想要分隔开来的菜单项之间插入一个菜单控件。2. 如有必要,单击右箭头按钮使新菜单项缩进到与它要隔开的菜单项同级。3. 在“标题”文本框中键

13、入一个连字符 (-)。4. 设置“名称”属性。5. 选取“确定”,关闭菜单编辑器。注意注意 虽然分隔符条是当作菜单控件来创建的,它们却不能响应 Click 事件,而且也不能被选取。赋值访问键和快捷键通过定义访问键和快捷键可改进键盘对菜单命令的访问。访问键访问键允许按下 ALT 键并打入一个指定字符来打开一个菜单。一旦菜单打开,通过按下所赋值的字符(访问键)可选取控件。例如,按下 ALT + E 键可打开“编辑”菜单,再按 P 键可选取“粘贴”菜单项。在菜单控件的标题中,一个指定的访问键表现为一个带下划线的字母,如图 6.9 所示。要在菜单编辑器中给菜单控件赋值访问键,请按照以下步骤执行:1.

14、选取要赋值访问键的菜单项。2. 在其“标题”框中,在要作为访问键字符的前面直接键入一个 (&) 字符。例如,如果图 6.9 所示的“编辑”菜单被打开,下列 Caption 属性设置值响应的对应键。注意 菜单中不能使用重复的访问键。如果多个菜单项使用同一个访问键,则该键将不起作用。例如,如果 C 同时是“剪切”和“复制”的访问键,那么,当选取“编辑”菜单且键入 C 时,则“复制”命令将被选,但只有按下 ENTER 键以后,应用程序才会执行该命令。而“剪切”命令根本不会执行。快捷键快捷键快捷键按下时会立刻运行一个菜单项。可以为频繁使用的菜单项指定一个快捷键,它提供一种键盘单步的访问方法,而不是按住

15、 ALT 键、再按菜单标题访问字符,然后再按菜单项访问字符的三步方法。快捷键的赋值包括功能键与控制键的组合,如 CTRL + F1键或 CTRL + A 键。它们出现在菜单中相应菜单项的右边,如图 6.10 所示。要对菜单项赋值快捷键,请按照以下步骤执行:1. 打开“菜单编辑器”。2. 选取该菜单项。3. 在“快捷键”组合框中选取功能键或者键的组合。要删除快捷键赋值,应选取列表顶部的“(none)”。注意 快捷键将自动出现在菜单上;因此,不需要在菜单编辑器的“标题”框中键入 CTRL+key。菜单标题与命名准则菜单标题与命名准则为了与其它应用程序保持一致,创建菜单时遵循所确立的命名准则是一个好

16、办法。设置 Caption 属性为菜单项进行标题赋值时,应当尽量遵循下列准则:1.菜单中项目名称应当唯一,但不同菜单中相似动作项目可以重名。2.项目名称可以是单词、复合词或者多个词。3.每一个项目名称都应当有一个用键盘选取命令的、一个唯一的记忆访问字符。访问字符应当是菜单标题的第一个字母,除非别的字符更易记;两个菜单标题不能用同一个访问字符。关于指定访问键与快捷键的详细信息,请参阅本章前面的“用菜单编辑器创建菜单”部分。4.如果命令在完成之前还需要附加信息,则在其名称后面应当有一个省略号(),比如显示一个对话框的命令(“另存为”,“首选项”) 。5.项目名称尽量简短。如果要使应用程序本地化,那么,在外文版中字词长度会增加将近百分之三十,这样也许没有足够空间列出各个菜单项。有关应用程序本地化的更详细内容,请参阅第十六章“国际发行”。菜单命名约定菜单命名约定为了使代码更可读和更易维护,在菜单编辑器中设置 Name 属性时遵循已确定的命名约定是一个好办法。大多数命名约定规则都建议用前缀来标识对象(即,对菜单控件用 mnu),其后紧跟顶层菜单的名称(如

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 多媒体应用

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号