На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

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);
}
}



Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz