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