如何在Win32应用程序中通过C ++ / MFC在鼠标光标处显示动态文本

时间:2020-03-05 18:53:36  来源:igfitidea点击:

我希望能够在鼠标上显示一些动态文本
Win32应用程序中的光标位置,例如给出X,Y坐标
会随着光标的移动而移动,就像添加的一样。我可以在
使用TextOut()调用鼠标所在窗口的mousemove事件
坐标并使存储的最后一个光标位置周围的矩形无效
清除先前的输出。但是,这可能会出现闪烁和
导致在窗口中绘制其他事物(例如跟踪器)时出现问题
盒子。有没有更好的方法可以做到这一点,也许使用现有的游标
绘图/无效机制?

解决方案

回答

我们可以通过ToolTips签出CToolTipCtrl来执行此操作。

如果要无闪烁跟踪工具提示,则需要从CToolTipCtrl派生自己的使用trackActivate消息的类。

回答

我们可能需要考虑移动一个小的透明窗口来跟随鼠标。特别是从Windows 2000开始,分层窗口似乎成为了选择的武器(坦白:那里没有个人经验)。