次の方法で共有


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 メソッドを使用して 1 つ以上のビューポートに関連付けられている場合、直接操作はその接触からの入力をさらに調べ、関連付けられたビューポートの構成に基づいて適切な操作を特定しようとします。 操作が認識されると、アプリケーションはこの連絡先の WM_POINTERCAPTURECHANGED メッセージを受け取ります。 このコンテキストでは、 WM_POINTERCAPTURECHANGED メッセージは、直接操作によって連絡先がキャプチャされ、この操作に使用されるこの連絡先からの入力をアプリケーションが受信しないことを示します。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー directmanipulation.h

関連項目

IDirectManipulationViewport

ユーザー入力メッセージと通知