用了TActionList后为何菜单和按钮的OnClick事件丢失?(50分)

  • 主题发起人 主题发起人 ccweifen
  • 开始时间 开始时间
C

ccweifen

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个菜单按钮和一个SPEEDBUTTON按钮中共同使用一个TACTION行为后,
以后重新打开这工程时,菜单和SPEEDBUTTON原有的ONCLICK事件丢失了。
而代码编辑器中代码存在,在Object Inspector 中 ONCLICK 事件的
值没了。每次打开工程时须重新给ONCLICK赋值。
请问这是怎么回事?谢谢!!!

E_mail:ccweifen@sohu.com
 
不要让 Action1.OnExecute 指向 MenuItem.OnClick,或指向 Button.OnClick。
重新定义 Action1.OnExecute 试一试。
 
不解决问题,如果
MenuItem.Action := Action1;
Button.Action := Action1;
必然会出现这种情况。
 
你既然使用了TAction,就应该把所有的事件处理放到
TAction.onexecute里,不应该再写onclick了
 
使用TAction后,MenuItem就由TAction管理
事件,方法等,只对TAction操作即可
 
我把Action1的ONEXECUTE 事件指向 MenuItem的ONCLICK事件,问题解决。
现在的问题是,如果MENU或Button 有多个事件,那么Action1的ONEXECUTE 指向谁?
 
dpr 说只对TACTION操作事件和方法,但TACTION的事件只有三个,而TMENU或BUTTON的事件完全不一样。
 
按dpr的说法去做,不应有问题了。
为什么要让Action1的onexecute指向menuiteM的onclick?
而不是在ACtion的onexecute中直接写代码。
 
接受答案了.
 
后退
顶部