消息

本节中的主题提供特定 指针输入消息和通知的参考规范。

在本节中

主题 说明
DM_POINTERHITTEST
首次检测到指针输入时发送到窗口,以确定 直接操作最可能的输入目标。
WM_NCPOINTERDOWN
当指针在窗口的非工作区上进行接触时发布。 该消息以指针在其中进行接触的窗口为目标。 指针隐式捕获到窗口,以便窗口继续接收指针的输入,直到它断开接触。
如果窗口捕获了此指针,则不会发布此消息。 相反, WM_POINTERDOWN 会发布到捕获此指针的窗口。
重要提示:
桌面应用应可识别 DPI。 如果应用无法识别 DPI,则指针消息和相关结构中包含的屏幕坐标可能因 DPI 虚拟化而显得不准确。 DPI 虚拟化为不感知 DPI 且默认处于活动状态的应用程序提供自动缩放支持, (用户可以将其关闭) 。 有关详细信息,请参阅 编写高 DPI Win32 应用程序
WM_NCPOINTERUP
在窗口的非工作区上建立接触的指针断开联系人时发布。 该消息以指针在其中进行接触的窗口为目标,此时指针被隐式捕获到窗口,以便窗口继续接收指针的输入,直到它中断接触,包括 WM_NCPOINTERUP 通知。
如果窗口捕获了此指针,则不会发布此消息。 相反, WM_POINTERUP 将发布到已捕获此指针的窗口。
重要提示:
桌面应用应可识别 DPI。 如果应用无法识别 DPI,则指针消息和相关结构中包含的屏幕坐标可能因 DPI 虚拟化而显得不准确。 DPI 虚拟化为不感知 DPI 且默认处于活动状态的应用程序提供自动缩放支持, (用户可以将其关闭) 。 有关详细信息,请参阅 编写高 DPI Win32 应用程序
WM_NCPOINTERUPDATE
发布以在指针上提供一个更新,该指针在窗口的非工作区上或在悬停未捕获的联系人移动到窗口的非工作区时进行接触。 指针悬停时,消息以指针恰好悬停在哪个窗口为目标。 当指针与表面接触时,指针会隐式捕获到指针与之接触的窗口,并且该窗口继续接收指针的输入,直到它断开接触。
如果窗口捕获了此指针,则不会发布此消息。 相反, WM_POINTERUPDATE 将发布到捕获此指针的窗口。
重要提示:
桌面应用应可识别 DPI。 如果应用无法识别 DPI,则指针消息和相关结构中包含的屏幕坐标可能因 DPI 虚拟化而显得不准确。 DPI 虚拟化为不感知 DPI 且默认处于活动状态的应用程序提供自动缩放支持, (用户可以将其关闭) 。 有关详细信息,请参阅 编写高 DPI Win32 应用程序
WM_PARENTNOTIFY
当子代窗口上发生重大操作时,发送到窗口。 此消息现已扩展为包含 WM_POINTERDOWN 事件。 创建子窗口时,系统会在创建窗口的 CreateWindowCreateWindowEx 函数返回之前发送WM_PARENTNOTIFY。 当子窗口被销毁时,系统会在进行任何销毁窗口的处理之前发送消息。
窗口通过其 WindowProc 函数接收此消息。
重要提示:
桌面应用应可识别 DPI。 如果应用无法识别 DPI,则指针消息和相关结构中包含的屏幕坐标可能因 DPI 虚拟化而显得不准确。 DPI 虚拟化为不感知 DPI 且默认处于活动状态的应用程序提供自动缩放支持, (用户可以将其关闭) 。 有关详细信息,请参阅 编写高 DPI Win32 应用程序
WM_POINTERACTIVATE
当主指针在窗口上生成 WM_POINTERDOWN 时,发送到非活动窗口。 只要消息保持未处理状态,它就会向上传递父窗口链,直到到达顶级窗口。 应用程序可以响应此消息以指定它们是否要激活。
窗口通过其 WindowProc 函数接收此消息。
WM_POINTERCAPTURECHANGED
发送到正在丢失输入指针捕获的窗口。
窗口通过其 WindowProc 函数接收此消息。
WM_POINTERDEVICECHANGE
当附加了数字化器的监视器的设置发生更改时,发送到窗口。 此消息包含有关显示模式缩放的信息。
WM_POINTERDEVICEINRANGE
在输入数字化器范围内检测到指针设备时发送到窗口。 此消息包含有关设备及其邻近度的信息。
WM_POINTERDEVICEOUTOFRANGE
当指针设备离开输入数字化器的范围时,发送到窗口。 此消息包含有关设备及其邻近度的信息。
WM_POINTERDOWN
当指针在窗口的工作区上进行接触时发布。 此输入消息以指针与之接触的窗口为目标,指针被隐式捕获到窗口,以便窗口继续接收指针的输入,直到它断开接触。
窗口通过其 WindowProc 函数接收此消息。
重要提示:
桌面应用应可识别 DPI。 如果应用无法识别 DPI,则指针消息和相关结构中包含的屏幕坐标可能因 DPI 虚拟化而显得不准确。 DPI 虚拟化为不感知 DPI 且默认处于活动状态的应用程序提供自动缩放支持, (用户可以将其关闭) 。 有关详细信息,请参阅 编写高 DPI Win32 应用程序
WM_POINTERENTER
当新指针在窗口上方进入检测范围时, (将鼠标悬停) ,或者当现有指针在窗口边界内移动时,发送到窗口。
WM_POINTERLEAVE
当指针离开窗口上方的检测范围时, (将鼠标悬停) 或指针移动到窗口边界之外时,发送到窗口。
WM_POINTERROUTEDAWAY
当指针输入路由到另一个进程时,在接收输入的进程上发生。
WM_POINTERROUTEDRELEASED
在当前进程上收到WM_POINTERUP消息时,发送到所有进程, (配置为通过 AddContentWithCrossProcessChaining 进行跨进程链接,并且当前不处理与特定指针 ID 关联的 指针输入)
WM_POINTERROUTEDTO
在正在进行的指针输入时发送,对于现有指针 ID,跨为跨进程链接配置的内容从一个进程转换到另一个进程, (AddContentWithCrossProcessChaining) 。
WM_POINTERUP
在窗口工作区上建立接触的指针断开联系人时发布。 此输入消息面向指针在其中进行接触的窗口,此时指针被隐式捕获到窗口,以便窗口继续接收输入消息,包括指针 的WM_POINTERUP 通知,直到它断开接触。
窗口通过其 WindowProc 函数接收此消息。
重要提示:
桌面应用应可识别 DPI。 如果应用无法识别 DPI,则指针消息和相关结构中包含的屏幕坐标可能因 DPI 虚拟化而显得不准确。 DPI 虚拟化为不感知 DPI 且默认处于活动状态的应用程序提供自动缩放支持, (用户可以将其关闭) 。 有关详细信息,请参阅 编写高 DPI Win32 应用程序
WM_POINTERUPDATE
发布以提供在窗口工作区上方的指针或悬停在窗口工作区上的未捕获指针上的接触的更新。 指针悬停时,消息以指针恰好悬停在哪个窗口为目标。 当指针与表面接触时,指针会隐式捕获到指针与之接触的窗口,并且该窗口继续接收指针的输入,直到它断开接触。
重要提示:
桌面应用应可识别 DPI。 如果应用无法识别 DPI,则指针消息和相关结构中包含的屏幕坐标可能因 DPI 虚拟化而显得不准确。 DPI 虚拟化为不感知 DPI 且默认处于活动状态的应用程序提供自动缩放支持, (用户可以将其关闭) 。 有关详细信息,请参阅 编写高 DPI Win32 应用程序
WM_POINTERWHEEL
旋转滚轮时,使用前台键盘焦点发布到窗口。
窗口通过其 WindowProc 函数接收此消息。
重要提示:
桌面应用应可识别 DPI。 如果应用无法识别 DPI,则指针消息和相关结构中包含的屏幕坐标可能因 DPI 虚拟化而显得不准确。 DPI 虚拟化为不感知 DPI 且默认处于活动状态的应用程序提供自动缩放支持, (用户可以将其关闭) 。 有关详细信息,请参阅 编写高 DPI Win32 应用程序
WM_POINTERHWHEEL
在水平滚轮旋转时,使用前台键盘焦点发布到窗口。
窗口通过其 WindowProc 函数接收此消息。
重要提示:
桌面应用应可识别 DPI。 如果应用无法识别 DPI,则指针消息和相关结构中包含的屏幕坐标可能因 DPI 虚拟化而显得不准确。 DPI 虚拟化为不感知 DPI 且默认处于活动状态的应用程序提供自动缩放支持, (用户可以将其关闭) 。 有关详细信息,请参阅 编写高 DPI Win32 应用程序
WM_TOUCHHITTESTING
发送到向下触摸的窗口,以确定最可能的触摸目标。

指针输入消息引用