我这样做的方式是利用这个TApplication.OnShowHint事件.这允许您自定义HintStr参数,并且您可以根据HintInfo参数中包含的位置执行此操作.
正如Remy在评论中指出的那样,你也可以处理CM_HINTSHOW以达到同样的效果,如果你已经将标准VCL控件子类化,那么在某些方面可以更清晰地实现.
我已经实现了一个基于接口的框架,以便在我的应用程序中使用它.基本上在TApplication.OnShowHint,HintInfo.HintControl被问及是否支持此接口.如果是这样,那么它有机会自定义提示文本.它工作得很漂亮.
基于原始MouseMove事件的提示非常有效但在每个MouseMove事件上调用ItemAtPos似乎有点浪费,而不是等到实际显示提示的时间.这就是为什么我略微偏爱上述方法.
| 归档时间: |
|
| 查看次数: |
1782 次 |
| 最近记录: |