首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TAction是怎么被解雇的?

TAction是怎么被解雇的?
EN

Stack Overflow用户
提问于 2011-03-31 14:03:10
回答 1查看 655关注 0票数 6

用户可以通过多种方式触发操作(TAction)的执行:快捷键、工具栏按钮、弹出菜单按钮等。是否有可能获得如何触发该操作的信息?

我只是在考虑活动日志的实现,以找出在GUI中使用不同特性的最流行方法。

更新

我需要收集一些关于用户如何与应用程序GUI交互的统计信息。

仅仅因为您需要实现日志记录,为每个按钮创建一个单独的操作并不是最好的主意。乌尔里希·格哈特的回答看起来很合适。我可以为TActionList.OnExecute事件分配一个处理程序,并从一个地方写入日志。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-31 14:15:23

也许你可以使用ActionComponent

使用ActionComponent来识别哪个客户端组件导致了此操作的执行。例如,如果需要知道是什么用户操作触发了此操作,请从ActionComponent事件处理程序中检查OnExecute。

当用户单击客户端控件时,该客户端在调用操作的Execute方法之前设置ActionComponent。动作执行后,动作将ActionComponent重置为零(Delphi)或NULL (C++)。

还有TApplication.OnActionExecuteTActionList.OnExecute,可能还有更多的“钩子”。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5501123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档