CWnd::OnSysKeyDown

Se l'oggetto CWnd ha lo stato attivo, la funzione membro OnSysKeyDown viene chiamata dal framework quando l'utente tenere premuto il tasto ALT e premere un altro tasto.

afx_msg void OnSysKeyDown(
   UINT nChar,
   UINT nRepCnt,
   UINT nFlags 
);

Parametri

  • nChar
    Specifica il codice tasto virtuale chiave che viene premuto.Per un elenco dei codici tasto virtuali standard, vedere Winuser.h

  • nRepCnt
    Specifica il numero di ripetizioni.

  • nFlags
    Specifica il codice di funzionalità, il codice di transizione chiave, lo stato del tasto precedente e il codice contestuale, come illustrato di seguito:

    Valore

    Significato

    0–7

    Codice di funzionalità (valore OEM- dipendente).Byte basso di word più significativa.

    8

    Chiave estesa, ad esempio un tasto funzione o una chiave sul tastierino numerico (1 se è una chiave estesa, in caso contrario 0).

    9–10

    Non utilizzato.

    11–12

    Utilizzato internamente da Windows.

    13

    Codice contestuale (1 se il tasto ALT viene mantenuto come chiave viene premuto, 0) in caso contrario.

    14

    Lo stato del tasto precedente (1 se la chiave è premuto prima che il messaggio venga inviato, 0 se la chiave è in).

    15

    Lo stato temporaneo (1 se la chiave è rilascianda 0, se la chiave è premere).

    Per le chiamate OnSysKeyDown, il bit di chiave transizione (15 bit) è 0.Il bit di codice contestuale (13 bit) è 1 se il tasto ALT è premuto mentre la chiave viene premuto, è 0 se il messaggio viene inviato alla finestra attiva quanto non finestra ha lo stato attivo per l'input.

Note

Se nessuna finestra ha attualmente lo stato attivo, la funzione membro OnSysKeyDown della finestra attiva è denominata.L'oggetto CWnd che riceve il messaggio è in grado di distinguere tra questi due contesti analisi del codice contestuale in nFlags.

Quando il codice contestuale è 0, il messaggio WM_SYSKEYDOWN ricevuto da OnSysKeyDown può essere passato alla funzione di Windows TranslateAccelerator, che lo gestisce come se fosse un messaggio principale normale anziché un messaggio di sistema chiave.In questo modo i tasti di scelta rapida da utilizzare con la finestra attiva anche se la finestra attiva non ha lo stato attivo per l'input.

A causa della ripetizione, più di una chiamata OnSysKeyDown può verificarsi prima che il messaggio WM_SYSKEYUP venga ricevuto.Lo stato del tasto precedente (14 bit) può essere utilizzato per determinare se la chiamata OnSysKeyDown indica la prima giù transizione o ripetuto fino transizione.

Per IBM migliore 101 e 102 tastiere principali, chiavi avanzate sono la destra ALT e i margini destro tasti CTRL nella sezione principale della tastiera; per componenti aggiuntivi, il DEL, HOME, in FINE, PGSU, la PGGIÙ e i tasti di direzione in cluster a sinistra del tastierino numerico; e una barra (/) e tasti INVIO nel tastierino numerico.Altre tastiere supportino la chiave estesa bit in nFlags.

[!NOTA]

Questa funzione membro viene chiamata dal framework per consentire l'applicazione per gestire un messaggio di Windows.I parametri passati alla funzione riflettono i parametri ricevuti dal framework quando il messaggio è stato ricevuto.Se si chiama l'implementazione della classe base di questa funzione, tale implementazione dei parametri passati originariamente con il messaggio e non i parametri forniti alla funzione.

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe CWnd

Grafico della gerarchia

TranslateAccelerator

CWnd::OnSysKeyUp

WM_SYSKEYDOWN