热情软件屋

 

拦截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 "如何在窗体的标题栏中使用自定义的按扭"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio