WM_NCHITTEST消息说明

文章来源:http://blog.csdn.net/yingzheng1983/article/details/3135858

WM_NCHITTEST

当光标移动到窗体,或鼠标按下,释放时,发送WM_NCHITTEST消息,如何鼠标不被捕获,消息在窗体得到光标之后发出,否则,消息发送到捕获到鼠标的窗体。

WM_NCHITTEST 
xPos = LOWORD(lParam); // 光标的水平位置(X)
yPos = HIWORD(lParam); //光标的垂直位置(Y)

Parameters(参数)

xPos

lParam的低次序数值(X的数值)。指定鼠标指针的X坐标,这个坐标是相对于屏幕左上部进行比效的。

yPos

lParam的高次序数值(Y的数值)。指定鼠标指针的Y坐标,这个坐标是相对于屏幕左上部进行比效的。

Return Values(返回值)

返回的值是由DefWindowProc函数所提供的下列数值之一,指出紧跟着光标的位置.

活动的位置

HTBORDER在一个可以用鼠标自由调整大小的(有边框)的窗上边界时

HTBOTTOM在一个可调窗体大小的下边界水平位置时(使用者可以点下鼠标垂直的调正大小)

HTBOTTOMLEFT在一个可调窗体边界的左下角位置时(使用者可以点下鼠标对角的

调窗体大小,从左下向右上调)

HTBOTTOMRIGHT在一个可调窗体边界的右下角位置时(使用者可以点鼠标对角的调

窗体大小,从右下向左上)

HTCAPTION在一个标题栏中

HTCLIENT在窗体客户区

HTCLOSE在关闭按钮(窗体)

HTERROR在屏幕的后面或在窗体之间的线上(相当于HTNOWHERE除了

DefWindowProc函数产生的系统发出的错误)

HTGROWBOX我的理解:在窗体里(相同于HTSIZE)(原文:In a size box (same as

HTSIZE))

HTHELP在帮助按钮上

HTHSCROLL在水平滚动条中

HTLEFT在窗体的左边界上(使用者可以点击鼠标左右(水平)调窗

体的大小)

HTMENU在一个菜单上

HTMAXBUTTON在最大化按钮上

HTMINBUTTON在最小化按钮上

HTNOWHERE在屏幕的后面或在窗体之间的线上(我的理解:两个窗体,一个前,一个

后,点后面的窗体产生)

HTREDUCE在一个最小化的按钮上(原文:In a Minimize button)

HTRIGHT在窗体的右边界(使用者能点鼠标水平调正窗体大小)

HTSIZE原文:In a size box (same as HTGROWBOX同样的HTGROWBOX)

HTSYSMENU在一个系统菜单上,或在一个child(子窗体)的一个关闭按钮上

HTTOP在一个窗体上部的边界位置上

HTTOPLEFT在一个窗体上部的边界的左上角

HTTOPRIGHT在一个窗体上部的边界的右上角

HTTRANSPARENT在同一程序的两个窗体,一个窗体被另一个窗体覆盖着(消息

会传递到下面的窗体,至到其中的一个窗体离开啦,否则就发送

HTTRANSPARENT消息)

HTVSCROLL在垂直滚动条上

HTZOOM在一个最大化按钮上(In a Maximize button)

Remarks(评论)

用一个MAKEPOINTS的宏将lParam转换成POINTS结构

持信息

Windows NT/2000/XP:Included in Windows NT 3.1 and later.

Windows 95/98/Me:Included in Windows 95 and later.

你可能感兴趣的:(test)