Messaggi di carattere morti

Alcune tastiere non inglese contengono i tasti carattere non sono tenuti a produrre personaggi da loro stessi. Invece, essi sono utilizzati per aggiungere un segno diacritico al carattere prodotto dalla pressione del tasto successivo. Queste chiavi vengono chiamate tasti morti. La chiave circonflessa su una tastiera tedesca un esempio di una chiave di morto. Per inserire il carattere composto da un "o" con un accento circonflesso, un utente tedesco digitare il tasto circonflesso seguito dalla chiave "o". La finestra con stato attivo avrebbe ricevuto la seguente sequenza di messaggi:

WM_KEYDOWN
WM_DEADCHAR
WM_KEYUP
WM_KEYDOWN
WM_CHAR
WM_KEYUP

TranslateMessage genera il messaggio WM_DEADCHAR quando elabora il messaggio WM_KEYDOWN da una chiave morto. Anche se il parametro wParam del messaggio WM_DEADCHAR contiene il codice carattere del diacritico morti della chiave, un'applicazione in genere ignora il messaggio. Invece, esso elabora il messaggio WM_CHAR generato dalla pressione del tasto successivo. Il parametro wParam del messaggio WM_CHAR contiene il codice del carattere della lettera con il segno diacritico. Se la pressione del tasto successivo genera un carattere che non pu essere combinato con un segno diacritico, il sistema genera due messaggi WM_CHAR. Il parametro wParam del primo contiene il codice carattere del segno diacritico; il parametro wParam della seconda contiene il codice carattere del tasto successivo carattere.

La funzione TranslateMessage genera il messaggio WM_SYSDEADCHAR quando elabora il messaggio WM_SYSKEYDOWN da una chiave di morti di sistema (una chiave morta che stata pressata in combinazione con il tasto alt). Un'applicazione in genere ignora il messaggio WM_SYSDEADCHAR.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index