Condividi tramite


Metodo ITfKeystrokeMgr::KeyDown (msctf.h)

Passa un evento di arresto della chiave al gestore delle sequenze di tasti.

Sintassi

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

Parametri

[in] wParam

Specifica il codice della chiave virtuale. Per altre informazioni su questo parametro, vedere il parametro wParam in WM_KEYDOWN.

[in] lParam

Specifica il numero di ripetizioni, il codice di analisi, il flag di chiave estesa, il codice di contesto, il flag di stato chiave precedente e il flag di stato di transizione della chiave. Per altre informazioni su questo parametro, vedere il parametro lParam in WM_KEYDOWN.

[out] pfEaten

Puntatore a un valore BOOL che, all'uscita, indica se l'evento chiave è stato gestito. Se questo valore riceve TRUE, l'evento chiave è stato gestito e l'evento non deve essere inoltrato all'applicazione. Se questo valore è FALSE, l'evento chiave non è stato gestito e l'evento deve essere inoltrato all'applicazione.

Valore restituito

Questo metodo può restituire uno di questi valori.

Valore Descrizione
S_OK
Il metodo è stato eseguito correttamente.
S_FALSE
Non sono installati sink di eventi chiave.
E_INVALIDARG
Uno o più parametri non sono validi.

Commenti

Se questo metodo ha esito positivo e pfEaten riceve TRUE, l'applicazione non deve elaborare l'evento di arresto della chiave. Se questo metodo non restituisce S_OK o pfEaten riceve FALSE, l'applicazione deve elaborare l'evento di arresto della chiave. Di seguito è riportato un esempio di implementazione.


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

Se il gestore delle sequenze di tasti non gestisce l'evento chiave, passa l'evento chiave ai servizi di testo TSF chiamando il metodo ITfKeyEventSink::OnKeyDown del servizio di testo TSF.

Requisiti

   
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione msctf.h
DLL Msctf.dll
Componente ridistribuibile TSF 1.0 in Windows 2000 Professional

Vedi anche