IDirectManipulationViewport::SetContact 方法 (directmanipulation.h)

指定联系人与视区之间的关联。

语法

HRESULT SetContact(
  [in] UINT32 pointerId
);

参数

[in] pointerId

指针的 ID。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

备注

收到 WM_POINTERDOWN 消息时调用此方法。 收到 WM_POINTERDOWN后,应用程序可以使用输入的坐标进行命中测试并确定与触点关联的视区。

必须在 SetContact 之前调用 DeferContact

初始化后, 直接操作 不知道视口之间的 z 顺序或父子关系。 SetContact 调用的顺序定义视区树。 若要建立正确的视区层次结构,应首先在最子级视区上调用 SetContact ,然后调用父级、父级等。

使用 GET_POINTERID_WPARAM 从指针消息中获取指针标识符。 收到 WM_POINTERUP 时,将自动删除联系人。

如果某个联系人使用 SetContact 方法与一个或多个视区相关联, 则直接操作 将检查来自该联系人的进一步输入,并尝试根据关联视口的配置识别适当的操作。 如果识别出操作,应用程序将收到此联系人 的WM_POINTERCAPTURECHANGED 消息。 在此上下文中, WM_POINTERCAPTURECHANGED 消息指示直接操作已捕获该联系人,并且应用程序不会从用于此操作的此联系人接收输入。

要求

   
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 directmanipulation.h

另请参阅

IDirectManipulationViewport

用户输入消息和通知