当光标移动时,或当按下或释放鼠标按钮时,WM_NCHITTEST消息将发送到窗口。如果鼠标未被捕获,则会将消息发送到光标下方的窗口。否则,消息将发布到已捕获鼠标的窗口。
WM_NCHITTEST
xPos = LOWORD(lParam); //光标的水平位置
yPos = HIWORD(lParam); //光标的垂直位置
参数
【XPOS】
【lParam的】的低位字的值。指定光标的x坐标。坐标相对于屏幕的左上角。
【yPos】
【lParam的】的高位字的值。指定光标的y坐标。坐标相对于屏幕的左上角。
返回值
DefWindowProc函数的返回值是以下值之一,表示光标热点的位置:
值 | 热点位置 |
HTBORDER | 在没有尺寸边框的窗口的边框 |
HTBOTTOM | 在窗口的较低水平边框 |
HTBOTTOMLEFT | 在窗口边框的左下角 |
HTBOTTOMRIGHT | 在窗口边框的右下角 |
HTCAPTION | 在标题栏中 |
HTCLIENT | 在客户区 |
HTERROR | 在屏幕背景上或窗口之间的分界线(与HTNOWHERE相同),除DefWindowProc功能产生系统蜂鸣声以指示错误) |
HTGROWBOX | 在一个大小框(与HTSIZE相同) |
HTHSCROLL | 在水平滚动条中 |
HTLEFT | 在窗口的左边界 |
HTMENU | 在菜单中 |
HTNOWHERE | 在屏幕背景上或窗口之间的分界线上 |
HTREDUCE | 在最小化按钮 |
HTRIGHT | 在窗口的右边界 |
HTSIZE | 在一个大小框(与HTGROWBOX相同) |
HTSYSMENU | 在系统菜单或子窗口中的关闭按钮中 |
HTTOP | 在窗口的上部水平边框 |
HTTOPLEFT | 在窗口边框的左上角 |
HTTOPRIGHT | 在窗口边框的右上角 |
HTTRANSPARENT | 在当前由另一个窗口覆盖的窗口中 |
HTVSCROLL | 在垂直滚动条中 |
HTZOOM | 在最大化按钮 |
备注
应用程序可以使用MAKEPOINTS宏将【lParam的】参数转换为POINTS结构。
也可以看看