Wywołanie funkcji TranslateAccelerator

Aby przetwarzać akceleratorów, pętla komunikatów aplikacji (lub wątku) musi zawierać wywołanie funkcji TranslateAccelerator . TranslateAccelerator porównuje naciśnięcia klawiszy do tabeli akceleratora i jeśli znajdzie dopasowanie, tłumaczy nacionięć klawiszy na wiadomość WM_COMMAND (lub WM_SYSCOMMAND). Funkcja następnie wysyła wiadomość do procedury okna. Parametry funkcji TranslateAccelerator to dojście do okna, która będzie odbierać komunikaty WM_COMMAND, dojście do tabeli akceleratora, używany do tłumaczenia akceleratorów i wskaźnik do struktury MSG zawierające wiadomość z kolejki. Poniższy przykład ilustruje sposób do wywołania TranslateAccelerator od wewnątrz pętli komunikatów.

podczas (GetMessage (amp; msg, (HWND) NULL, 0, 0)) {/ / Check klawiszy skrótu. 
 
    if (!.TranslateAccelerator (hwndMain, / / dojście do otrzymywania haccel okna, / / dojście do tabeli aktywnej akceleratora & msg)) / / adresu z wiadomości danych {}
        TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    } 
} 

 

Index