Traducerea caracter mesaje

Orice subiect care primește caracterul de intrare de la utilizator trebuie să includă funcția TranslateMessage în bucla sa mesaj. Această funcție analizează codul virtual-cheie de un mesaj de taste și, dacă codul corespunde un caracter, plasează un mesaj de caractere în coada de mesaje. Caracter este eliminat și expediate pe repetare următoare de bucla mesaj; parametrul wParam mesajului conține codul de caracter.

În general, un fir mesaj bucla ar trebui să utilizați funcția TranslateMessage pentru a traduce fiecare mesaj, mesaje nu doar virtual-cheie. Deși TranslateMessage has nu efect pe alte tipuri de mesaje, garantează că input tastatură este tradus în mod corect. Următorul exemplu arată cum pentru a include funcția de TranslateMessage într-o buclă de mesaj tipic thread.

în timp ce (GetMessage (amp; msg, NULL (HWND), 0, 0)) {dacă (TranslateAccelerator (hwndMain, haccl & msg) == 0) {TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    } 
} 

 

Index