IDirectManipulationManager::RegisterHitTestTarget メソッド (directmanipulation.h)
ヒット テスト用の専用スレッドを登録します。
構文
HRESULT RegisterHitTestTarget(
[in] HWND window,
[in, optional] HWND hitTestWindow,
[in] DIRECTMANIPULATION_HITTEST_TYPE type
);
パラメーター
[in] window
メイン アプリ ウィンドウのハンドル (通常は UI スレッドから作成されます)。
[in, optional] hitTestWindow
ヒット テストが登録されているウィンドウのハンドル (ヒット テスト スレッドから作成する必要があります)。 nullptr を渡して、以前に登録したヒット テスト ターゲットの登録を解除します。
[in] type
DIRECTMANIPULATION_HITTEST_TYPEの値の 1 つ。 UI ウィンドウまたはヒット テスト ウィンドウ (またはその両方) が、ヒット テスト WM_POINTERDOWN メッセージを受信するかどうか、および順序を指定します。
戻り値
メソッドが成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
解説
ヒット テストは通常、アプリケーション UI スレッドで実行されます。 アプリケーションは、ヒット テストが実行される WM_POINTERDOWN メッセージを受け取ります。 操作が必要な場合は、1 つ以上のビューポートで SetContact が呼び出されます。 アプリケーションは RegisterHitTestTarget メソッドを使用して、このヒット テストの責任を別のヒット テスト スレッドに委任できます。
専用のヒット テスト ターゲットが正常に登録されると、 WM_POINTERDOWN メッセージはヒット テスト スレッドで処理されます。 パンやズームなどの操作が必要な場合は、このスレッドから SetContact が呼び出されます。
ヒット テスト スレッドから SetContact が呼び出されない場合、登録時に指定されたDIRECTMANIPULATION_HITTEST_TYPEに応じて、WM_POINTERDOWNメッセージが UI スレッドで処理される場合があります。
ヒット テスト スレッドまたは UI スレッドによって SetContact が呼び出されない場合、 直接操作 は UI スレッドで処理される入力を無視します。
要件
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | directmanipulation.h |
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示