这很有趣:)但是如何做ActionList1.MyAction.Enable:=false
之类的事情?
动作列表具有按钮操作,如果按钮不可见,我需要禁用它的动作(如果不执行此操作并按下快捷方式,则执行该过程)。
可能是我做错了,但我没有给按钮分配动作。我只有一个带动作的动作列表。每个动作都有一个快捷方式按下此快捷方式后,将执行操作并执行操作。如果要点击按钮 - >同样的程序也将被执行。
State:=asSuspended
用于整个动作列表。
感谢!!!
答案 0 :(得分:6)
您应该分配按钮的Action
属性并通过操作控制所有内容。将操作设置为禁用,不可见等,按钮也会跟随。
不要设置按钮的OnClick事件处理程序,而是使用相应的操作事件。使用操作的OnUpdate事件来设置Visible,Enabled等属性,基本上是在运行时更改的所有内容。
答案 1 :(得分:1)
TActionList
是包含一个或多个TAction
的列表。
TAction
具有以下属性:
自动检查
标题
经过
的启用强>
的GroupIndex
HelpContext
HelpKeyword
HelpType
提示
图像索引
SecondaryShortCuts
快捷
可见
只要您遵循David的建议并使用TActionList执行所有操作,启用就可以正常工作。
或者,如果taction.enabled
对您不起作用,您可以随时进行测试,看看设置actionxxxx.shortcut := '';
是否有效。
如果没有,那么其他一些捷径就是拦截击键。
请参阅:
http://docwiki.embarcadero.com/VCL/XE/en/ActnList.TAction
http://docwiki.embarcadero.com/VCL/en/ActnList.TActionList