【发布时间】:2011-03-31 14:03:10
【问题描述】:
用户可以通过多种方式触发动作 (TAction) 执行:快捷键、工具栏按钮、弹出菜单按钮等。是否可以获取信息如何触发该动作?
我只是在考虑实现活动日志,以找出在 GUI 中使用不同功能的最流行方法。
更新
我需要收集一些关于用户如何与应用程序 GUI 交互的统计信息。
仅仅因为您需要实现日志记录,就为每个按钮创建一个单独的操作并不是最好的主意。 Ulrich Gerhardt 的回答看起来很合适。我可以为 TActionList.OnExecute 事件分配一个处理程序并从一个地方写入日志。
【问题讨论】:
-
如果你想知道这个你的设计就坏了
-
我钦佩你识别未知应用程序设计的心灵感应能力。
-
如果您希望按下按钮的行为与单击菜单的行为不同,那就是不同的操作。
-
出于兴趣,你为什么关心他们是使用菜单还是快捷方式?您应该寻找最常调用哪些操作,并确保您为这些操作提供良好的键盘访问(例如快捷方式)。
-
关于为您的应用收集使用情况统计信息,请查看DeskMetrics.com。这是一个 DLL,他们有一个 Delphi 接口单元。
标签: delphi