WM _ NCXBUTTONDOWN 消息

当用户在光标位于窗口的非工作区时按下第一个或第二个 X 按钮时发布。 此消息将发送到包含游标的窗口。 如果窗口已捕获鼠标,则不 发布 此消息。

窗口通过其 WindowProc 函数接收此消息。

#define WM_NCXBUTTONDOWN                0x00AB

parameters

wParam

低序字指定 DefWindowProc 函数在处理 WM _ NCHITTEST 消息时返回的命中测试值。 有关命中测试值的列表,请参阅 WM _ NCHITTEST。 高序字指示按下了哪个按钮。 可以是下列值之一。

含义
XBUTTON1
0x0001
按下了第一个 X 按钮。
XBUTTON2
0x0002
按下了第二个 X 按钮。

lParam

指向 包含光标 的 x 和 y 坐标的 POINTS 结构的指针。 坐标相对于屏幕的左上角。

返回值

如果应用程序处理此消息,则它应返回 TRUE。 有关处理返回值的信息,请参阅备注部分。

备注

使用以下代码获取 wParam 参数 中的信息。

nHittest = GET_NCHITTEST_WPARAM(wParam); 
fwButton = GET_XBUTTON_WPARAM(wParam); 

还可使用以下代码从 lParam 获取 x 坐标和 y 坐标:

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

重要

请勿使用 LOWORDHIWORD 宏提取光标位置的 x 和 y 坐标,因为这些宏在具有多个监视器的系统上返回不正确的结果。 具有多个监视器的系统可以具有负 x 和 y 坐标 ,LOWORDHIWORD 将坐标视为无符号数量。

默认情况下 ,DefWindowProc 函数测试指定点,获取光标的位置并执行相应的操作。 如果适用,它会将 WM _ SYSCOMMAND 消息发送到窗口。

WM _ NCLBUTTONDOWN、WM _ NCMBUTTONDOWNWM _ NCRBUTTONDOWN消息不同,如果应用程序处理此消息,则应用程序应从此消息返回 TRUE。 这样做将允许在早于 Windows 2000 的 Windows 系统上模拟此消息的软件来确定窗口过程是处理消息还是调用 DefWindowProc处理该消息。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winuser.h (包括 Windowsx.h)

另请参阅

引用

DefWindowProc

GET _ X _ LPARAM

GET _ Y _ LPARAM

WM _ NCHITTEST

WM _ NCXBUTTONDBLCLK

WM _ NCXBUTTONUP

WM _ SYSCOMMAND

概念性

鼠标输入

其他资源

MAKEPOINTS