ITfKeystrokeMgr::TestKeyUp メソッド (msctf.h)
キーストローク マネージャーがキーアップ イベントを処理するかどうかを決定します。
構文
HRESULT TestKeyUp(
[in] WPARAM wParam,
[in] LPARAM lParam,
[out] BOOL *pfEaten
);
パラメーター
[in] wParam
キーの仮想キー コードを指定します。 このパラメーターの詳細については、WM_KEYUPの wParam パラメーターを参照してください。
[in] lParam
キーの繰り返し数、スキャン コード、拡張キー フラグ、コンテキスト コード、前のキー状態フラグ、および遷移状態フラグを指定します。 このパラメーターの詳細については、WM_KEYUPの lParam パラメーターを参照してください。
[out] pfEaten
キー イベントが処理されるかどうかを示す BOOL へのポインター。 この値が TRUE を受け取った場合、キー イベントは処理され、イベントはアプリケーションに転送されません。 この値が FALSE の場合、キー イベントは処理されず、イベントがアプリケーションに転送されます。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
値 | 説明 |
---|---|
|
メソッドは正常に実行されました。 |
|
キー イベント シンクはインストールされません。 |
|
1 つ以上のパラメーターが無効です。 |
注釈
アプリケーションは、このメソッドを使用してキーストローク マネージャーによってキー イベントが処理されるかどうかを判断できます。 このメソッドが成功し、 pfEaten が TRUE を受け取った場合、アプリケーションは ITfKeystrokeMgr::KeyUp を呼び出す必要があります。 このメソッドがS_OKを返さない場合、または pfEaten が FALSE を受け取る場合、アプリケーションは ITfKeystrokeMgr::KeyUp を呼び出さないでください。 これを実装する方法の例を次に示します。
if(msg.message == WM_KEYUP)
{
if( pKeyboardMgr->TestKeyUp(msg.wParam, msg.lParam, &fEaten) == S_OK
&& fEaten
&& pKeyboardMgr->KeyUp(msg.wParam, msg.lParam, &fEaten) == S_OK
&& fEaten)
{
The key was handled by the keystroke manager or a text service. Do not pass the key to the application.
continue;
}
else
{
//Let the application process the key.
}
}
キーストローク マネージャーがキー イベントを処理しない場合は、TSF テキスト サービス ITfKeyEventSink::OnTestKeyUp メソッドを呼び出して、キー イベントを TSF テキスト サービスに渡します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | msctf.h |
[DLL] | Msctf.dll |
再頒布可能パッケージ | Windows 2000 Professional の TSF 1.0 |