Freigeben über


ITfKeystrokeMgr::TestKeyDown-Methode (msctf.h)

Bestimmt, ob der Tastatureingabe-Manager ein Keydown-Ereignis behandelt.

Syntax

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

Parameter

[in] wParam

Gibt den Virtuellen Schlüsselcode des Schlüssels an. Weitere Informationen zu diesem Parameter finden Sie im wParam-Parameter in WM_KEYDOWN.

[in] lParam

Gibt die Wiederholungsanzahl, den Scancode, das Flag für erweiterte Schlüssel, den Kontextcode, das vorherige Schlüsselzustandsflag und das Übergangszustandsflag des Schlüssels an. Weitere Informationen zu diesem Parameter finden Sie im lParam-Parameter in WM_KEYDOWN.

[out] pfEaten

Zeiger auf einen BOOL-Wert, der angibt, ob das Schlüsselereignis behandelt wird. Wenn dieser Wert TRUE empfängt, wird das Schlüsselereignis behandelt, und das Ereignis sollte nicht an die Anwendung weitergeleitet werden. Wenn dieser Wert FALSE ist, wird das Schlüsselereignis nicht behandelt, und das Ereignis sollte an die Anwendung weitergeleitet werden.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Wert BESCHREIBUNG
S_OK
Die Methode war erfolgreich.
S_FALSE
Es sind keine Schlüsselereignissenken installiert.
E_INVALIDARG
Mindestens ein Parameter ist ungültig.

Hinweise

Eine Anwendung kann mit dieser Methode ermitteln, ob ein Schlüsselereignis vom Tastatureingabe-Manager behandelt wird. Wenn diese Methode erfolgreich ist und pfEaten TRUE empfängt, sollte die Anwendung ITfKeystrokeMgr::KeyDown aufrufen. Wenn diese Methode nicht S_OK zurückgibt oder pfEatenFALSE empfängt, sollte die Anwendung ITfKeystrokeMgr::KeyDown nicht aufrufen. Im Folgenden finden Sie ein Beispiel dafür, wie dies implementiert wird.


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. 
    }
}

Wenn der Tastatureingabe-Manager das Schlüsselereignis nicht verarbeitet, übergibt er das Schlüsselereignis an die TSF-Textdienste, indem er die ITfKeyEventSink::OnTestKeyDown-Methode aufruft .

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile msctf.h
DLL Msctf.dll
Verteilbare Komponente TSF 1.0 unter Windows 2000 Professional

Weitere Informationen