首页 > 其他分享 >delphi 让TActionList中的sender指向事发对象

delphi 让TActionList中的sender指向事发对象

时间:2022-12-01 12:12:04浏览次数:45  
标签:sender TActionList iTag delphi 事发 TAction Sender

故事这样的:

我有一批按钮需要共同一个点击事件,本来是按最普通的方法,批选了这些按钮,然后双击click事件,然后写代码,最主要的是这句:

iTag: =  TControl(Sender).Tag;

这种情况下这么确实也是没有问题的.

后来为了方便代码管理,我添加了一个TActionList控件,并把上面共用的代码添加到了TActionList里面,然后再给这批按钮设置action属性.结果 iTag总是返回0!

 

后来才得知,这里的sender其实是指向了TAction,并没有指向事发对象,所以很自然的没能取到iTag的值.

 然后是各路大神讨论了一波也没得出解决方法,最后我都放弃了,改回原来的方式 ~~~

然后是第二天,突然有位大哥,居然还掂记着我昨晚的问题,第二天我一出现,立马给了一个解决方案,真是太感谢啦!

iTag:= TAction(Sender).ActionComponent.Tag

用 TAction(Sender).ActionComponent 可以取事发对象.

 

标签:sender,TActionList,iTag,delphi,事发,TAction,Sender
From: https://www.cnblogs.com/yoooos/p/16941043.html

相关文章