|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Calling the TranslateAccelerator Function
To process accelerators, an application's (or thread's) message loop must contain a call to the TranslateAccelerator function. TranslateAccelerator compares keystrokes to an accelerator table and, if it finds a match, translates the keystrokes into a WM_COMMAND (or WM_SYSCOMMAND) message. The function then sends the message to a window procedure. The parameters of the TranslateAccelerator function include the handle of the window that is to receive the WM_COMMAND messages, the handle of the accelerator table used to translate accelerators, and a pointer to an MSG structure containing a message from the queue. The following example shows how to call TranslateAccelerator from within a message loop.
while (GetMessage(&msg, (HWND) NULL, 0, 0)) { /* Check for accelerator keystrokes. */ if (!TranslateAccelerator( hwndMain, /* handle of receiving window */ haccel, /* handle of active accel. table */ &msg)) { /* address of message data */ TranslateMessage(&msg); DispatchMessage(&msg); } }
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Вызов Функции TranslateAccelerator
Для того, чтобы обрабатывать акселераторы, приложение сообщение (или заправлять) цикл должен содержать вызов в функцию TranslateAccelerator. TranslateAccelerator СРАВНИВАЕТ нажатия клавиши со столом акселератора и, если это находит спичку, переводится нажатия клавиши в WM_COMMAND сообщения (или WM_SYSCOMMAND). Функция затем посылает сообщение в процедуру окна. Параметры функции TranslateAccelerator включают ручку окна, которое должно получать сообщения WM_COMMAND, ручка стола акселератора использованные, чтобы переводиться акселераторы, и указатель в структуру MSG, содержащую сообщение из очереди. Следующий пример показывает как, чтобы вызывать TranslateAccelerator из цикла сообщения.
пока (GetMessage(&msg, (HWND) НЕДЕЙСТВИТЕЛЬНЫЙ, 0, 0)) { /* Чек акселератора keystrokes. */ если (!TranslateAccelerator( hwndMain, /* РУЧКА, получающий окно */ haccel, /* ручка активной accel. таблицы */ &msg)) { /* адрес данных сообщения */ TranslateMessage(&msg); DispatchMessage(&msg); } }
|
|
|
|
| |