次の方法で共有


ITfKeystrokeMgr::KeyDown メソッド (msctf.h)

キーダウン イベントをキーストローク マネージャーに渡します。

構文

HRESULT KeyDown(
  [in]  WPARAM wParam,
  [in]  LPARAM lParam,
  [out] BOOL   *pfEaten
);

パラメーター

[in] wParam

キーの仮想キー コードを指定します。 このパラメーターの詳細については、「WM_KEYDOWNwParam パラメーター」を参照してください。

[in] lParam

キーの繰り返し数、スキャン コード、拡張キー フラグ、コンテキスト コード、以前のキー状態フラグ、および遷移状態フラグを指定します。 このパラメーターの詳細については、「WM_KEYDOWNlParam パラメーター」を参照してください。

[out] pfEaten

終了時にキー イベントが処理されたかどうかを示す BOOL へのポインター。 この値が TRUE を受け取った場合、キー イベントは処理され、イベントはアプリケーションに転送されません。 この値が FALSE の場合、キー イベントは処理されず、イベントをアプリケーションに転送する必要があります。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

説明
S_OK
メソッドは正常に実行されました。
S_FALSE
キー イベント シンクはインストールされていません。
E_INVALIDARG
1 つ以上のパラメーターが無効です。

解説

このメソッドが成功し、 pfEatenTRUE を受け取った場合、アプリケーションはキーダウン イベントを処理しないでください。 このメソッドがS_OKを返さない場合、または pfEatenFALSE を受け取った場合、アプリケーションはキーダウン イベントを処理する必要があります。 これを実装する方法の例を次に示します。


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

関連項目