我正在开发一个 Win32 控件。此控件上可能有数百个“项目”。这些不是窗口,而是内部对象(例如:矩形)。根据鼠标位置,我想更改鼠标光标。没关系,我可以使用 WM_SETCURSOR。
同时基于鼠标移动,我想显示一个状态栏,显示当前鼠标下对象的详细信息。为此,我可以使用 WM_MOUSEMOVE。
因为可能有数百个项目,所有项目都在鼠标下找到一个,所以效率不高,尤其是两次(一个用于设置光标,一个用于鼠标移动)。
简而言之,您知道 WM_SETCURSOR 和 WM_MOUSEMOVE 是否总是成对出现吗?在那种情况下,我可以在 WM_SETCURSOR 期间计算出我想要的。另一种选择是在 WM_MOUSEMOVE 期间设置鼠标光标,但据我所知,这不是一个好的解决方案(会闪烁)。
谢谢