在 MFC 中捕获鼠标指针形状更改事件
Posted
技术标签:
【中文标题】在 MFC 中捕获鼠标指针形状更改事件【英文标题】:Capturing Mouse pointer shape change event in MFC 【发布时间】:2012-04-11 06:11:18 【问题描述】:我正在编写一个需要鼠标指针形状更改通知的 Windows 应用程序。我已经彻底搜索,但找不到令人满意的解决方案。我想收到关于光标形状更改以及光标类型更改的通知。
从搜索中我了解到,我必须在每个进程中安装一个钩子并捕获 WM_SETCURSOR 事件,但捕获此消息并不能提供完整的信息。如果有人可以提供帮助,请指导我
【问题讨论】:
你期待什么信息,你得到(或丢失)什么? 我期待光标的类型(例如,当它从箭头变为手形时,或者当它改变大小以调整大小时),我只得到它的位置。我在 loadcursor( ) 我们可以指定一些 ID (IDC_CROSS, IDC_HAND) 来更改光标。因此,如果相同的 id 或等效的东西,我可以进入我的应用程序,那么它就可以达到目的 【参考方案1】:您可以使用GetCursor
或GetCursorInfo
获取当前光标的句柄。
问题是要知道句柄指的是哪个游标。我认为没有“反向查找”功能,因此您必须通过将您的句柄与LoadCursor
返回的句柄进行比较以获得不同的可能值来实现它。
幸运的是,文档是这样说的:
LoadCursor 函数仅在未加载游标资源时加载 已加载;否则,它将检索现有的句柄 资源。
【讨论】:
以上是关于在 MFC 中捕获鼠标指针形状更改事件的主要内容,如果未能解决你的问题,请参考以下文章