WM_NCXBUTTONDBLCLK 消息
当光标位于窗口非工作区中并且用户双击第一个或第二个 X 按钮时发布。 此消息将发布到包含光标的窗口。 如果窗口捕获了鼠标,则不会发布此消息。
窗口通过其 WindowProc 函数接收此消息。
#define WM_NCXBUTTONDBLCLK 0x00AD
参数
-
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);
重要
请勿使用 LOWORD 或 HIWORD 宏提取光标位置的 x 和 y 坐标,因为这些宏在具有多个监视器的系统上会返回不正确的结果。 具有多个监视器的系统可以具有负 x 坐标和 y 坐标,LOWORD 和 HIWORD 会将坐标视为无符号数量。
默认情况下,DefWindowProc 函数测试指定的点以获取光标的位置并执行相应的操作。 如果合适,它会将 WM_SYSCOMMAND 消息发送到窗口。
窗口不需要具有 CS_DBLCLKS 样式即可接收 WM_NCXBUTTONDBLCLK 消息。 当用户在系统的双击时间限制内按下、松开,然后再次按下 X 按钮时,系统会生成 WM_NCXBUTTONDBLCLK 消息。 双击其中一个按钮实际上会生成四条消息:WM_NCXBUTTONDOWN、WM_NCXBUTTONUP、WM_NCXBUTTONDBLCLK,以及再次生成 WM_NCXBUTTONUP。
与 WM_NCLBUTTONDBLCLK、WM_NCMBUTTONDBLCLK 和 WM_NCRBUTTONDBLCLK 消息不同,如果应用程序处理此消息,则应从此消息返回 TRUE。 这样做将允许在早于 Windows 2000 的 Windows 系统上模拟此消息的软件确定窗口过程是处理该消息还是调用 DefWindowProc 来处理它。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
Header |
|
另请参阅
-
引用
-
Conceptual
-
其他资源