使用:Delphi XE3,VCL Forms 应用程序
我有一个包含 ActionMainMenuBar 中的子菜单的菜单。我如何通过代码:
- 禁用菜单
- 禁用子菜单
使用:Delphi XE3,VCL Forms 应用程序
我有一个包含 ActionMainMenuBar 中的子菜单的菜单。我如何通过代码:
每个要启用禁用的菜单/子菜单创建一个“TAction”。不要将它们分配到任何类别。
为这些操作创建一个“OnExecute”事件处理程序,以便启用这些操作。您不必在处理程序中放置任何代码,注释 ('//') 足以让 IDE 不删除处理程序。
从表单设计器中选择代表菜单/子菜单的“TActionClient”,只需单击该项目。
在对象检查器中将其中一项操作分配给其“操作”属性。
在运行时启用/禁用与代表菜单/子菜单的“TActionClient”关联的操作,以便相应地启用/禁用菜单/子菜单。
通过使用菜单的“启用”属性?或作为子菜单起点的菜单项...
如果您知道该类别的顶级菜单项的索引,则实际上可以在运行时禁用它(无论如何在 Delphi 7 中),如下所示:
ActionMainMenuBar.ActionControls[2].Enabled := False;
ActionControls[2] 将是显示为顶级菜单项的类别(在将类别从 ActionManager.