文章作者 100test 发表时间 2007:03:10 18:32:27
来源 100Test.Com百考试题网
在使用Windows或VB菜单时,已见过“与众不同”的菜单项,如有的呈灰色,单击这类菜单项不执行任何操作;有的菜单项前有“√”号,或菜单项的某个字母下面有下划线等等。下面将介绍如何在菜单中增加这些属性。
1、菜单项的有效属性(有效性控制)
为了使程序正常运行,有时需要使某些菜单项失效,以防止出现误操作。例如前面的例子中,只有在文本框中输入数字后才能进行运算,否则运算没有意义。因此,如果尚未输入数据,则应使执行加、减、乘、除的菜单项失效,在输入数据后才生效。为此,可增加下面两个事件过程:
Private Sub Text1_Change()
If Text1.Text = "" Then
Add.Enabled = False
Min.Enabled = False
Mul.Enabled = False
Div.Enabled = False
Else
Add.Enabled = True
Min.Enabled = True
Mul.Enabled = True
Div.Enabled = True
End If
End Sub
Private Sub Text2_Change()
If Text2.Text = "" Then
Add.Enabled = False
Min.Enabled = False
Mul.Enabled = False
Div.Enabled = False
Else
Add.Enabled = True
Min.Enabled = True
Mul.Enabled = True
Div.Enabled = True
End If
End Sub
除增加上述两个事件过程外,还要取消Add、Min、Mul、Div等4个菜单项的“有效”属性设置。
方法:打开“菜单编辑器”窗口,把对应于这4个菜单项的数据区中的“有效”属性复选框中的“√”去掉即可。
2、菜单项的复选属性(菜单项的标记)
所谓菜单项标记,就是在菜单项前加上一个“√”。
它有两个作用:
一是明显地表示当前某个(或某些)命令状态是“On”或“Off”;
二是可以表示当前选择的是哪个菜单项。
增加方法:
在“菜单编辑器”窗口中,由“复选”属性设置,前面有“√”则为“True”,否则为“Flase”。
也可在应用程序代码中设置。
一般来说,菜单项标记通常是动态的加上或取消的,所以,常在程序代码中根据执行情况设置。
例2 设计一个菜单,该菜单有一个主菜单项和若干个子菜单项。当单击子菜单项时,分别显示十进制、八进制和十六进制数,并在相应的菜单项前面加上“√”标记。
界面:
一个文本框、6个标签。
菜单属性:
标题 | 名称 | 内缩符号 | 复选 |
显示数字 八进制 十进制 十六进制 清除 退出 |
Numsys Octv Dec Hexv Clean Quit |
无 1 1 1 1 1 |
无 无 无 无 有 无 |
设计菜单:
编写代码:
Option Explicit
Dim answer As Single
Private Sub octv_Click()
answer = Val(Text1.Text)
Octv.Checked = True
Dec.Checked = False
Hexv.Checked = False
Clean.Checked = False
Quit.Checked = False
Label5.Caption = Oct$(answer)