Mort-caracter mesaje

Unele tastaturi non-engleză con?in cheile de caractere care nu sunt de așteptat să producă caractere de ei înșiși. În schimb, ele sunt utilizate pentru a adăuga un diacritică caracterul produse de taste ulterioare. Aceste chei sunt numite chei mort. Tasta circumflex pe o tastatură German este un exemplu de o cheie de mort. Pentru a introduce caracterul constând dintr-un "o" cu un accent circumflex, un utilizator German ar trebui să tastați cheia circumflex, urmat de "o" cheie. Fereastra cu tastatura se concentreze ar primi următoarea secvență de mesaje:

WM_KEYDOWN
WM_DEADCHAR
WM_KEYUP
WM_KEYDOWN
WM_CHAR
WM_KEYUP

TranslateMessage generează mesajul de WM_DEADCHAR când se procesează mesajul de WM_KEYDOWN la o cheie de mort. Deși parametrul wParam WM_DEADCHAR mesajului conține codul de caracter de diacritică pentru cheia mort, o cerere de obicei ignoră mesajul. În schimb, procesele de mesaj WM_CHAR generate de taste ulterioare. Parametrul wParam WM_CHAR mesajului conține codul de caracter scrisorii cu diacritică. Dacă ulterior keystroke generează un caracter care nu pot fi combinate cu o diacritică, sistemul generează două mesaje WM_CHAR. Parametrul wParam primul conține codul de caracter de diacritică; parametrul wParam al doilea conține codul de caracter de tasta caractere ulterioare.

Funcția TranslateMessage generează mesajul de WM_SYSDEADCHAR când se procesează mesajul WM_SYSKEYDOWN de la un sistem de dead tastă un mort care este presat în combinație cu tasta alt. O cerere de obicei ignoră mesaj WM_SYSDEADCHAR.

Index