我正在将Delphi 5应用程序移植到D2010,但是我遇到了一些问题。一种形式是带有OnMouseMove事件的TImage组件,该组件应该在鼠标移到图像上时更新标签。在原始应用中,此操作效果很好,但是现在无论鼠标是否在图像上方,无论鼠标是否在移动,OnMouseMove事件都会持续触发,这会导致标签可怕地闪烁。
有人知道这是什么原因以及如何解决?
认真地说,当我们切换到Vista时,我已经在工具提示窗口中看到了这件事。似乎Windows工具提示窗口的最新版本在更新它们时会以某种方式生成WM_MOUSEMOVE消息。我能找到的唯一解决方法是仅在文本实际更改时才更新标签。
所以,如果您不在Windows上,请忽略我。但是,如果您使用的是Windows,请仅在标签文本实际更改时尝试更新标签文本。XY
坐标,如果没有更改,则退出:if ( x = ZoomRect.Right ) and ( y = ZoomRect.Bottom ) then exit ;
文件|新建| VCL表格申请
运行应用程序(F9)。