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