WM_NCXBUTTONUP消息
当用户释放XBUTTON1或XBUTTON2时,光标位于窗口的非工作区时发布。 此消息将发布到包含光标的窗口。 如果窗口已捕获鼠标,则不会 未 发布此消息。
窗口通过其 WindowProc 函数接收此消息。
#define WM_NCXBUTTONUP 0x00AC
参数
-
wParam
-
低序单词指定 DefWindowProc 函数从处理 WM_NCHITTEST 消息返回的命中测试值。 有关命中测试值的列表,请参阅 WM_NCHITTEST。
高序单词指示释放了哪个按钮。 它可以是以下值之一。
价值 意义 - XBUTTON1
- 0x0001
XBUTTON1获释。 - XBUTTON2
- 0x0002
XBUTTON2获释。 -
lParam
-
指向 POINTS 结构的指针,该结构包含光标的 x 坐标和 y 坐标。 坐标相对于屏幕左上角。
返回值
如果应用程序处理此消息,它应返回 true 。 有关处理返回值的详细信息,请参阅“备注”部分。
言论
Windows 支持最多五个按钮的鼠标:左侧、中间和右侧,以及两个称为XBUTTON1和XBUTTON2的其他按钮。 XBUTTON1和XBUTTON2按钮通常位于鼠标两侧,靠近基础。 这些额外的按钮在所有老鼠上都不存在。 如果存在,XBUTTON1和XBUTTON2按钮通常映射到应用程序函数,例如 Web 浏览器中的向前和向后导航。
使用以下代码获取 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 消息发送到窗口。
与 WM_NCLBUTTONUP、WM_NCMBUTTONUP和 WM_NCRBUTTONUP 消息不同,如果应用程序处理此消息,应用程序应从此消息返回 true true。 这样做将允许在早于 Windows 2000 的 Windows 系统上模拟此消息的软件来确定窗口过程是处理该消息还是调用 DefWindowProc 来处理它。
要求
要求 | 价值 |
---|---|
支持的最低客户端 |
Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 |
Windows 2000 Server [仅限桌面应用] |
页眉 |
|