8.2.1 有效性控制
2025年09月26日
8.2.1 有效性控制
菜单项有效性等同于文本框和按钮等控件的Enabled属性,通过菜单编辑器中的“有效”复选框进行设置。如果选中“有效”复选框,则相当于将Enabled属性设置为True,菜单项可以正常使用;如果取消选中,则相当于将Enabled属性设置为False,菜单项显示为灰色,不能选择。
其实这种情况是软件中常见的一种功能状态提示。例如,任意软件的“编辑”菜单中的“复制”菜单项,就存在这两种状态。如果未选定任何对象,则“复制”菜单项显示为灰色;当选定对象后,具备了复制的条件,这时“复制”菜单项变为可用。
菜单项有效性也可以通过程序动态控制。
如图8-2b所示的“编辑”菜单,对于“复制”菜单项,如果取消选中“有效”复选框,则默认状态如图8-6所示。
当程序运行时,如果用户选择了文本框中的内容,则通过程序动态修改“复制”菜单项的Enabled属性,把该菜单项变为有效,代码如下。
图8-6 菜单项有效性控制
利用此功能,按照用户权限可以把菜单项分成不同的等级,当用户登录时,检测用户的权限等级,然后决定哪些菜单项是对该用户开放(可用)的,哪些菜单项对该用户是禁用(不可用)的。