对WM_NCHITTEST消息的了解和展示代码示例
发布时间
阅读量:
阅读量
该信息具有较高的实用价值且至关重要,其象征着非显示区域命中测试。此消息在所有显示区域与非显示区域的鼠标消息中具有优先级。其中lParam参数包含鼠标的x与y屏幕坐标,而wParam在此处未被使用。
Windows应用程序通常将该消息传递给DefWindowProc,随后Windows通过WM_NCHITTEST消息生成与鼠标位置相关的其他所有鼠标消息。通俗而言,即为从一条消息衍生出其他消息。
case WM_NCHITTEST:
return (LRESULT)HTNOWHERE;
上述代码可禁用窗口的所有显示区域和非显示区域的鼠标消息,即当鼠标位于窗口内时(包括系统菜单图标、缩放按钮、关闭按钮等),鼠标按键将无法生效。
先来了解该消息的返回值:
其为下列列出的鼠标击中测试枚举值之一。
· HTBORDER:位于不支持调整大小边框的窗口边框上。
· HTBOTTOM:位于窗口水平边框底部。
· HTBOTTOMLEFT:位于窗口边框左下角。
· HTBOTTOMRIGHT:位于窗口边框右下角。
· HTCAPTION:位于标题栏内。
· HTCLIENT:位于客户区中。
· HTERROR:位于屏幕背景或窗口之间的分隔线上(与HTNOWHERE相同,但Windows的DefWndProc函数会发出系统提示音以表明错误)。
· HTGROWBOX:位于尺寸
全部评论 (0)
还没有任何评论哟~
