Freigeben über


ITfKeystrokeMgr::TestKeyUp-Methode (msctf.h)

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

Syntax

HRESULT TestKeyUp(
  [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_KEYUP.

[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_KEYUP.

[out] pfEaten

Zeiger auf eine BOOL, die 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 werden 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::KeyUp aufrufen. Wenn diese Methode nicht S_OK zurückgibt oder pfEatenFALSE empfängt, sollte die Anwendung ITfKeystrokeMgr::KeyUp nicht aufrufen. Im Folgenden finden Sie ein Beispiel dafür, wie dies implementiert wird.


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

Wenn der Tastatureingabe-Manager das Schlüsselereignis nicht verarbeitet, übergibt er das Schlüsselereignis an den TSF-Textdienst, indem er die ITfKeyEventSink::OnTestKeyUp-Methode des TSF-Textdiensts aufruft .

Anforderungen

Anforderung Wert
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