delphi – TAction被解雇的方式是什么?

前端之家收集整理的这篇文章主要介绍了delphi – TAction被解雇的方式是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
用户可以通过很多方式触发操作(TAction)执行:快捷键,工具栏按钮,弹出菜单按钮等.是否可以获取有关触发该操作的信息?

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

更新

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

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

解决方法

也许你可以使用 ActionComponent

Use ActionComponent to discern which
client component caused this action to
execute. For example,examine
ActionComponent from an OnExecute
event handler if you need to know what
user action triggered this action.

When the user clicks a client control,
that client sets ActionComponent
before calling the action’s Execute
method. After the action executes,the
action resets ActionComponent to nil
(Delphi) or NULL (C++).

还有TApplication.OnActionExecute,TActionList.OnExecute和更多的“钩子”.

猜你在找的Delphi相关文章