Translacja znaku wiadomości

Każdy wątek, który otrzymuje znak danych wejściowych od użytkownika musi zawierać funkcji TranslateMessage w jego pętli komunikatów. Ta funkcja analizuje kod klucza wirtualnego, wiadomości naciśnięcia klawiszy i kod odpowiada znakowi, umieści wiadomość znaków do kolejki wiadomości. Komunikat znak jest usuwane i wysyłane na następnej iteracji pętli komunikatów; Parametr wParam wiadomość zawiera kod znaku.

Ogólnie Pętla wiadomości wątku należy używać funkcji TranslateMessage do tłumaczenia wszystkich wiadomości, wiadomości nie tylko klucza wirtualnego. Chociaż TranslateMessage nie ma wpływu na inne typy wiadomości, gwarantuje to, że klawiatury jest poprawnie przetłumaczona. Poniższy przykład ilustruje sposób do włączenia funkcji TranslateMessage w pętli komunikatów typowe wątku.

podczas (GetMessage (amp; msg, (HWND) NULL, 0, 0)) {Jeżeli (TranslateAccelerator (hwndMain, haccl & msg) == 0) {TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    } 
} 

 

Index