WM_NCPOINTERUPDATE 消息
发布后,在指针上提供更新,该指针使联系人在窗口的非工作区上或悬停未捕获的联系人在窗口的非工作区上移动时。 指针悬停时,消息将针对指针发生于哪个窗口。 当指针与图面接触时,指针将隐式捕获到指针进行接触的窗口,并且该窗口继续接收指针的输入,直到它中断联系人为止。
如果窗口已捕获此指针,则不会发布此消息。 而是将 WM_POINTERUPDATE 发布到已捕获此指针的窗口。
[!重要提示]
桌面应用应注意 DPI。 如果应用无法识别 DPI,则指针消息中包含的屏幕坐标和相关结构可能会由于 DPI 虚拟化而显示不准确。 DPI 虚拟化为非 DPI 感知的应用程序提供自动缩放支持,默认情况下 (用户可以将其关闭) 。 有关详细信息,请参阅 编写高 DPI Win32 应用程序。
#define WM_NCPOINTERUPDATE 0x0241
参数
-
wParam
-
包含指针标识符和其他信息。 使用以下宏检索此信息。
GET_POINTERID_WPARAM wParam) (:指针标识符
HIWORD (wParam) :从处理 WM_NCHITTEST 消息返回的命中测试值。
-
lParam
-
包含指针的点位置。
注意
由于指针可能通过非简单区域与设备联系,因此此点位置可能简化更复杂的指针区域。 尽可能使用完整的指针区域信息,而不是点位置。
使用以下宏检索点的物理屏幕坐标。
- GET_X_LPARAM lParam () :x (水平点) 坐标。
- (GET_Y_LPARAM lParam) :y (垂直点) 坐标。
返回值
如果应用程序处理此消息,它应返回零。
如果应用程序未处理此消息,则应调用 DefWindowProc。
注解
如果应用程序未处理此消息, DefWindowProc 可能会执行一个或多个系统操作,具体取决于消息中包含的命中测试结果。 通常,应用程序不需要处理此消息。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 8 [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2012 [仅限桌面应用] |
标头 |
|