加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

winapi – Win32 WM_SETCURSOR,WM_MOUSEMOVE总是在成对?

发布时间:2020-12-14 01:35:58 所属栏目:Windows 来源:网络整理
导读:我正在使用Win32控件.此控件上可能有数百个“项目”.那些不是窗口,而是内部对象(例如:矩形).根据鼠标位置,我想更改鼠标光标.没关系,我可以使用WM_SETCURSOR. 同时基于鼠标移动我想显示一个状态栏,显示当前鼠标下对象的详细信息.为此,我可以使用WM_MOUSEMOVE
我正在使用Win32控件.此控件上可能有数百个“项目”.那些不是窗口,而是内部对象(例如:矩形).根据鼠标位置,我想更改鼠标光标.没关系,我可以使用WM_SETCURSOR.

同时基于鼠标移动我想显示一个状态栏,显示当前鼠标下对象的详细信息.为此,我可以使用WM_MOUSEMOVE.

因为可能有数百个项目,所有这些项目都在鼠标下找到它们,所以效率不高,特别是两次(一次用于设置光标,一次用于鼠标移动).

为了缩短它,你知道WM_SETCURSOR和WM_MOUSEMOVE是否总是成对的?在那种情况下,我可以在WM_SETCURSOR期间计算出我想要的东西.另一种选择是在WM_MOUSEMOVE期间设置鼠标光标,但据我所知,它不是一个好的解决方案(将闪烁).

谢谢

解决方法

虽然它们目前可能总是作为匹配对出现,但您可能无法依赖此行为.

您可以在WM_MOUSEMOVE(使用SetCursor)期间设置光标,并且它不会闪烁,只要(IIRC),您从WM_SETCURSOR返回TRUE而不做任何事情(即您吃掉该消息),并且您的窗口没有分配给它的类游标.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读