Вызов функции TranslateAccelerator

Чтобы обработать ускорителей, цикл обработки сообщений приложения (или потока) должен содержать вызов функции TranslateAccelerator . TranslateAccelerator сравнивает нажатия клавиш в таблице сочетаний клавиш и, если соответствие найдено, переводит нажатия клавиш в сообщения WM_COMMAND (или WM_SYSCOMMAND). Функция затем посылает сообщение процедуре окна. Параметры функции TranslateAccelerator включают дескриптор для окна, который должен получить сообщения WM_COMMAND, дескриптор в таблице сочетаний клавиш, используемое для перевода ускорителей и указатель на структуру MSG , содержащую сообщение из очереди. В следующем примере показано вызываемой TranslateAccelerator из цикла обработки сообщений.

при этом (GetMessage (amp; msg, NULL (HWND), 0, 0)) {/ / проверка для сочетания клавиш. 
 
    Если (!.TranslateAccelerator (hwndMain, / / обработать для получения окна haccel, / / обработать таблицу сочетаний клавиш активной и msg)) / / адрес из сообщения данных {}
        TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    } 
} 
 

Index