WM_NCHITTEST 的消息响应函数的返回值是HTCLIENT,表示鼠标点击的是客户区,则Windows会向窗口发送WM_LBUTTONDOWN消息
WM_NCHITTEST的消息响应函数的返回值不是HTCLIENT(可能是HTCAPTION、HTCLOSE、HTMAXBUTTON等),即鼠标点击的是非客户区,Windows就会向窗口发送WM_NCLBUTTONDOWN消息。
测试码 | 鼠标位置 |
HTBORDER | 在不具有可变大小边框的窗口边框上 |
HTBOTTOM | 在窗口水平边框的底部 |
HTBOTTOMLEFT | 在窗口边框的左下角 |
HTBOTTOMRIGHT | 在窗口边框的右下角 |
HTCAPTION | 在标题栏中 |
HTCLIENT | 在客户区中 |
HTERROR | 在屏幕背景或窗口之间的分割线上(除了窗口函数DefWndProc产生一个系统蜂鸣声以指明错误,与HTNOWHERE相同) |
HTGROWBOX | 在尺寸框中 |
HTHSCROLL | 在水平滚动条中 |
HTLEFT | 在窗口左边框上 |
HTMAXBUTTON | 在最大化按钮上 |
HTMENU | 在菜单区域 |
HTMINBUTTON | 在最小化按钮上 |
HTNOWHERE | 屏幕背景或窗口之间的分割线上 |
HTREDUCE | 在最小化按钮上 |
HTRIGHT | 在窗口的右边框上 |
HTSIZE | 在尺寸框中 (和HTGROWBOX相同) |
HTSYSMENU | 在控制菜单或子窗口的关闭按钮上 |
HTTOP | 在窗口水平边框的上方 |
HTTOPLEFT | 在窗口边框的左上角 |
HTTOPRIGHT | 在窗口边框的右上角 |
HTTRANSPARENT | 在一个被其他窗口覆盖的窗口中 |
HTVSCROLL | 在垂直滚动条中 |
HTZOOM | 在最大化按钮上 |