Il parametro lParam di un messaggio di battitura contiene informazioni aggiuntive sulla pressione del tasto che ha generato il messaggio. Queste informazioni includono il conteggio di ripetizione, il codice di scansione, la bandiera esteso-chiave, il codice del contesto, la bandiera dello stato chiave precedente e il flag di stato di transizione. L'illustrazione seguente mostra le posizioni di queste bandiere e i valori del parametro lParam.
Un'applicazione può utilizzare i seguenti valori per manipolare le bandiere di battitura.
Valore | Significato |
---|---|
KF_ALTDOWN | Manipola il flag alt chiave, che ha indicato se viene premuto il tasto alt. |
KF_DLGMODE | Manipola il flag di modalità di dialogo, che indica se una finestra di dialogo è attiva. |
KF_EXTENDED | Manipola la bandiera chiave estesa. |
KF_MENUMODE | Manipola il flag di modalità di menù, che indica se un menu è attivo. |
KF_REPEAT | Manipola il conteggio di ripetizione. |
KF_UP | Manipola la bandiera dello stato di transizione. |
Si può verificare il conteggio di ripetizione per determinare se un messaggio di battitura rappresenta più di una sequenza di tasti. Il sistema incrementa il conteggio quando la tastiera genera messaggi WM_KEYDOWN o WM_SYSKEYDOWN più velocemente di quanto un'applicazione può elaborarli. Ciò accade spesso quando l'utente tiene premuto una chiave lunga abbastanza per iniziare la caratteristica di ripetizione automatica della tastiera. Invece di riempire la coda di messaggi di sistema con i messaggi chiave giù risultanti, il sistema combina i messaggi in una singola chiave giù il messaggio e incrementa il conteggio di ripetizione. Rilasciando una chiave non può iniziare la caratteristica di ripetizione automatica, quindi il conteggio di ripetizione per messaggi WM_KEYUP e WM_SYSKEYUP è sempre impostato su 1.
Il codice di scansione è il valore che l'hardware di tastiera genera quando l'utente preme un tasto. Esso è un valore di dipendenti dal dispositivo che identifica il tasto premuto, in contrasto con il carattere rappresentato dalla chiave. Un'applicazione in genere ignora la scansione di codici. Vengono invece utilizzati i codici di tasti virtuali indipendenti dal dispositivo di interpretare i messaggi di battitura.
Il flag di esteso-chiave indica se il messaggio di battitura originati da uno dei tasti supplementari sulla tastiera avanzata. I tasti estesi sono costituiti i tasti alt e ctrl sul lato destro della tastiera; l'ins, CANC, casa, fine, PGSU, PGGIÙ e tasti freccia in grappoli a sinistra del tastierino numerico; il tasto Bloc num; il tasto pausa (ctrl + pausa); il tasto Stamp stampa; e la divisione (/) e inserire le chiavi nel tastierino numerico. È impostato il flag esteso-chiave se la chiave è una chiave estesa.
Il codice di contesto indica se il tasto alt è stato giù quando è stato generato il messaggio di battitura. Il codice è 1 se il tasto alt è sceso e 0 se fosse fino.
La bandiera dello stato chiave precedente indica se il tasto che ha generato il messaggio di battitura è stato in precedenza su o giù. È 1 se la chiave è stato precedentemente giù e 0 se la chiave è stata in precedenza fino. È possibile utilizzare questo flag per identificare i messaggi di battitura generati dalla funzione di ripetizione automatico della tastiera. Questo flag è impostato su 1 per WM_KEYDOWN e WM_SYSKEYDOWN battitura messaggi generati dalla funzionalità di ripetizione automatica. Esso è sempre impostato su 0 per messaggi WM_KEYUP e WM_SYSKEYUP.
Il flag di stato di transizione indica se la pressione di un tasto o rilasciando una chiave generato il messaggio di battitura. Questo flag è sempre impostato su 0 per messaggi WM_KEYDOWN e WM_SYSKEYDOWN ; esso è sempre impostato su 1 per i messaggi WM_KEYUP e WM_SYSKEYUP.
Rimedio: Inserire il CD-ROM CD di MSDN Library.