Per elaborare gli acceleratori, un'applicazione (o del thread) ciclo di messaggi deve contenere una chiamata alla funzione TranslateAccelerator . TranslateAccelerator confronta le battiture a una tabella di acceleratore e, se viene trovata una corrispondenza, si traduce la sequenza di tasti in un messaggio WM_COMMAND (o WM_SYSCOMMAND). La funzione quindi invia il messaggio di una routine della finestra. I parametri della funzione TranslateAccelerator includono l'handle per la finestra che riceverà i messaggi WM_COMMAND, l'handle alla tabella acceleratore utilizzata per tradurre gli acceleratori e un puntatore a una struttura MSG contenente un messaggio dalla coda. Nell'esempio seguente viene illustrato come chiamare TranslateAccelerator all'interno di un ciclo di messaggi.
mentre (GetMessage (amp; msg, (HWND) NULL, 0, 0)) {/ / Check for battiture acceleratore.
if (!.TranslateAccelerator (hwndMain, / / handle di ricevere la finestra haccel, / / handle a tabella accelerator attivo & msg)) / / indirizzo del messaggio dati {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
Rimedio: Inserire il CD-ROM CD di MSDN Library.