为什么菜单和Button的Enabled和ImageIndex属性不随Action的设置而改变?(50分)

  • 主题发起人 netCobra
  • 开始时间
N

netCobra

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在在做一个授权管理模块,看到一些资料介绍中说用Actionlist进行Enabled属性设置
比较方便,但是我把菜单和Button的Action属性连接到Actionlist后,发现菜单和button的
属性并没有随Action的变化而变化,甚至不管Action的Enabled设置如何,菜单只要连上Action
就变成Disabled的了,请问这是怎么回事?
 
因为你的Action没有对应的事件,双击Action加入事件,哪怕是注释,只要留有过程就可以了

当然是加入你想要做的事了,比如
一个Action名字是FileExit
一个菜单项mfExit的Aciton指向FileExit
一个ToolButton的Aciton也指向FileExit
双击Action,在他的OnExecute事件中写代码
begin
Close;//如果是主窗口的话就是退出整个应用程序了
end;
 
非常感谢!
应该加入什么事件呢?是要把Action的事件指向Menu或者Button的事件吗?
 
我想实现以下的效果:我的Menu和Button各自的功能、Caption、Image不同,只是要设置为相同的Enabled属性,用ActionList可以实现吗?
谢谢!
 
可以,但要利用Tag属性,把你要设置为相同的Enabled的Action的Tag设成一样,
这样就可以分成几个组,用遍历ActionList的Actions的方法,判断Tag并设置Enabled

查查关于控件数组的贴子
 
非常感谢!
应该加入什么事件呢?是要把Action的事件指向Menu或者Button的事件吗?

有了Action,就把Menu和Button的OnClick事件都删除,然后把相关的事件代码写到Action的OnExecute事件中.
Action不仅仅是可以统一管理Enabled等属性,也可以统一管理OnClick事件.
 
谢谢大家了,最后一个问题,哪里有比较详细的介绍ActionList控件的用法或者源程序吗?最好是中文的,看Delphi的帮助总是看得一头雾水的。
谢谢!
 
顶部