我有一个包含数百个TActions的大型应用程序.它们中的每一个都被使用并实现所需的不同功能.
可以从应用程序中捕获(挂钩)所有TAction.OnExecute吗?有没有我可以挂钩的Windows消息,所以我可以记录执行的动作名称?
解决方法
您只需添加一个
TApplicationEvents
对象并处理
OnActionExecute
事件.事件处理程序传递给Action实例,因此可以很容易地获取操作的名称.
在动作的OnExecute事件触发之前,将触发OnActionExecute事件.您甚至可以通过在OnActionExecute事件处理程序中将Handled参数设置为True来停止操作的OnExecute事件.