菜单程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
菜单程序设计
菜单程序设计2010年12月05日星期日下午09:52菜单程序设计
一、菜单
菜单的基本作用:
菜单的基本类型:
几个常用术语:
--菜单条出现在窗体标题的下面,包含每个菜单的标题。
--菜单包含命令列表或子菜单名。
--菜单中列出的每一项。
--从某个菜单项分支出来的另外的一个菜单。具有子菜单的菜单项右边带有一个三角符号标志。
--分隔条是在菜单项之间的一条水平直线,用于修饰菜单。
--弹出式菜单是另一种形式的菜单,在按下鼠标右键时出现,它是一个上下文相关的菜单。
使用菜单编辑器可以为应用程序创建自定义菜单并定义其属性,利用这个编辑器,可以建立下拉式菜单,最多可达6层。
启动菜单编辑器的方法有4种(先选中一个窗体,使之为活动窗体):
使用菜单"工具"/"菜单编辑器";
启动后,弹出菜单设计窗口。
菜单编辑器窗口分为三个部分:数据区、编辑区和菜单项显示区。
1、数据区
用来输入或修改菜单项、设置属性。其中:
隔线。
可在该文本框中输入数值,这个值用来在帮助文件(用HelpFile属性设置)中查找相应的帮助主题。
用来确定菜单或菜单项是否出现或在什么位置出现。该列表有4个选项:
0-None菜单项不显示
2、编辑区
共有7个按钮。
3、菜单项显示区(菜单列表)
位于菜单设计窗口的下部,输入的菜单项在这里显示出来,并通过内缩符号(…)表明菜单项的层次。条形光标所在的菜单项是"当前菜单项"。
说明:
菜单项是一个总的名称,包括4个方面的内容:菜单名(菜单标题)、菜单命令、分隔线和子菜单。
内缩符号由4个点组成,它表明菜单项所在的层次,一个内缩符号(4个点)表示一层,两个内缩符号(8个点)表示两层…最多20个点,即5个内缩符号,它后面的菜单项为第六层。如果一个菜单项前面没有内缩符号,则该菜单为菜单名,即菜单的第一层。
隔线。
下面通过一个简单的例子说明菜单程序设计的基本方法和步骤。
例1
根据题意,可以将菜单分为3个主菜单项,分别为"计算加、减"、"计算乘、除"和"清除与退出",它们各有两个子菜单,即:
"计算加、减"的子菜单项:加、减
"计算乘、除"的子菜单项:乘、除
"清除与退出"的子菜单项:清除、退出
另外,为了输入和显示,再建立两个文本框(输入数据)和四个标签。
1、界面:
其中Lable4的BorderStyle属性设置为1。
2、菜单项属性:
3、设计菜单:
步骤:
其它两个主菜单的建立与前面步骤类似,不再重复。设计完成后的窗口如
下图。"确定"后结束。
设计完成后,窗体顶行显示主菜单项,单击某个主菜单项,即可下拉显示
其子菜单。
4、程序代码:
每个菜单项都可以接收Click事件。每个菜单项都有一个名字(Name属性),将这个名字与Click放在一起,组成Click事件过程。
Option Explicit Private Sub Add_Click()
x=Val(Text1.Text)+Val(Text2.Text)
End Sub Private Sub Min_Click()
x=Val(Text1.Text)-Val(Text2.Text)
Private Sub Mul_Click()
x=Val(Text1.Text)*Val(Text2.Text)
Private Sub Div_Click()
If Text2.Text="0"Or Text2.Text=""Then End Sub Private Sub
Clean_Click()
Text1.Text=""
End Sub Private Sub Quit_Click()
5、运行程序:
在两个文本框中输入数字后,分别单击各菜单项或热键,看一看执行结果。
本例中的"有效"属性和"可见"属性采用默认的"True",只有在必要时才设
置其它属性。下面将讨论这些情况。
在使用Windows或VB菜单时,已见过"与众不同"的菜单项,如有的呈灰色,单击这类菜单项不执行任何操作;有的菜单项前有"√"号,或菜单项的某个字
母下面有下划线等等。下面将介绍如何在菜单中增加这些属性。
1、菜单项的有效属性(有效性控制)
为了使程序正常运行,有时需要使某些菜单项失效,以防止出现误操作。
例如前面的例子中,只有在文本框中输入数字后才能进行运算,否则运算没有
意义。因此,如果尚未输入数据,则应使执行加、减、乘、除的菜单项失效,
在输入数据后才生效。为此,可增加下面两个事件过程:
Private Sub Text1_Change()
If Text1.Text=""Then End Sub Private Sub Text2_Change()
If Text2.Text=""Then End Sub
除增加上述两个事件过程外,还要
方法:打开"菜单编辑器"窗口,把对应于这4个菜单项的数据区中的"有效"属性复选框中的"√"去掉即可。
2、菜单项的复选属性(菜单项的标记)
所谓菜单项标记,就是在菜单项前加上一个"√"。
它有两个作用:
增加方法:
一般来说,菜单项标记通常是动态的加上或取消的,所以,程序代码中根据执行情况设置。
例2
界面:
一个文本框、6个标签。
菜单属性:
设计菜单:
编写代码:
Option Explicit Private Sub octv_Click()
answer=Val(Text1.Text)
Private Sub Hexv_Click()
answer=Val(Text1.Text)