Mŕtvy charakter správ

Niektoré non-anglickej klávesnice obsahujú znakové klávesy, ktoré sa neočakáva vytvárať znaky aj sami. Namiesto toho sa používajú na pridanie diakritiky znak produkované následné stlačenie klávesu. Tieto kľúče sa nazývajú mŕtvych kľúče. Circumflex kláves na nemeckú klávesnicu je príkladom mŕtvych kľúč. Chcete zadať znak pozostávajúce z "o" s vokáň nemeckého užívateľa by zadajte circumflex kľúč nasleduje "o" kľúč. Okno s klávesnicou zameraním by dostávať tieto postupnosti správ:

WM_KEYDOWN
WM_DEADCHAR
WM_KEYUP
WM_KEYDOWN
WM_CHAR
WM_KEYUP

TranslateMessage generuje WM_DEADCHAR správy pri spracovaní WM_KEYDOWN správu z mŕtvych kľúča. Hoci wParam parameter WM_DEADCHAR správa obsahuje kód znaku diakritiky mŕtvych kľúča, žiadosť zvyčajne ignoruje správy. Namiesto toho procesy WM_CHAR správy generované následné stlačenie klávesu. WParam parameter WM_CHAR správa obsahuje kód znaku list s diakritiku. Ak následné stlačenie klávesu vygeneruje znak, ktorý nemôže byť kombinovaný s diakritiky, systém vytvorí dve WM_CHAR správy. WParam parameter prvé obsahuje kód znaku diakritiky; wParam parameter druhý obsahuje kód znaku následné znak kľúča.

Funkcia TranslateMessage generuje WM_SYSDEADCHAR správy pri spracovaní WM_SYSKEYDOWN správu z systém mŕtvych kľúča (mŕtvych kľúč, ktorý bol stlačený v kombinácii s kláves alt). Žiadosť zvyčajne ignoruje správy WM_SYSDEADCHAR.

Index