Freigeben über


ITfKeystrokeMgr::KeyDown-Methode (msctf.h)

Übergibt ein Key-Down-Ereignis an den Tastatureingabe-Manager.

Syntax

HRESULT KeyDown(
  [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 beim Beenden angibt, ob das Schlüsselereignis behandelt wurde. Wenn dieser Wert TRUE empfängt, wurde das Schlüsselereignis behandelt, und das Ereignis sollte nicht an die Anwendung weitergeleitet werden. Wenn dieser Wert FALSE ist, wurde 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

Wenn diese Methode erfolgreich ist und pfEaten TRUE empfängt, sollte die Anwendung das Key Down-Ereignis nicht verarbeiten. Wenn diese Methode nicht S_OK zurückgibt oder pfEaten FALSE empfängt, sollte die Anwendung das Key Down-Ereignis verarbeiten. 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 TSF-Textdienste, indem er die ITfKeyEventSink::OnKeyDown-Methode des TSF-Textdiensts 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