拦截WM_MOUSEMOVE消息,但当鼠标位于窗口标题处时无法获取鼠标位置
编号:QA002120
建立日期: 1999年11月28日 最后修改日期:2000年2月8日
所属类别:
radish:
操作系统: win98
编程工具: C++
问题: 我想通过WH_MOUSE HOOK,拦截WM_MOUSEMOVE获取鼠标位置。但当鼠标位于程序窗口标题处时,无法获取鼠标位置,请问是否要拦截其他消息,还是要用其他HOOK?
回答:
WM_MOUSEMOVE只有当鼠标在窗口的客户区时才发送,如果要截获非客户区的位置,需要截获WM_NCMOUSEMOVE消息。类似的,还有一些非客户区的鼠标消息,如WM_NCLBUTTONDOWN、WM_NCLBUTTONDBLCLK。
相关问题:
QA002497 "窗口、视口、客户区、非客户区分别代表什么"
QA001338 "如何在窗体的标题栏中使用自定义的按扭"
此问题由李海回答。
| |
|
|
| |
|
|