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 |