delphi – 当鼠标在D2010中不移动时,为什么OnMouseMove会反复触发?

前端之家收集整理的这篇文章主要介绍了delphi – 当鼠标在D2010中不移动时,为什么OnMouseMove会反复触发?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在将Delphi 5应用程序移植到D2010,我遇到了一些问题.在一个表单上是一个带有OnMouseMove事件的T Image组件,该事件应该在鼠标移动到图像上时更新标签.这在原始应用程序中运行得很好,但是现在OnMouseMove事件会在鼠标悬停在图像上时不断触发,无论它是否在移动,这会导致标签闪烁可怕.

有谁知道造成这种情况的原因以及如何解决这个问题?

解决方法

我的通灵调试意识告诉我你在 Windows上,标签是一个工具提示窗口,你正在更新每个mousemove.

严肃地说,当我们切换到Vista时,我已经通过工具提示窗口看到了这个问题.似乎更新版本的Windows工具提示窗口以某种方式生成WM_MOUSEMOVE消息时更新它们.我能找到的唯一解决方法是仅在文本实际更改时更新标签.

所以,如果你不在窗户上,请忽略我.但是,如果您使用的是Windows,请尝试仅在实际更改时更新标签文本.

猜你在找的Delphi相关文章