Поделиться через


Ускорители клавиатуры

акселератор клавиатуры (или, просто, акселератор) — это нажатие клавиш или сочетание нажатий клавиш, создающих WM_COMMAND или WM_SYSCOMMAND сообщение для приложения.

В этом разделе

Имя Описание
о ускорителях клавиатуры Обсуждает акселераторы клавиатуры.
использование ускорителей клавиатуры Обсуждает задачи, связанные с акселераторами клавиатуры.
Справочник по акселератору клавиатуры Содержит ссылку на API.

Функции акселератора клавиатуры

Имя Описание
CopyAcceleratorTable Копирует указанную таблицу акселераторов. Эта функция используется для получения данных таблицы акселератора, соответствующего дескриптору таблицы акселератора, или для определения размера данных таблицы акселератора.
CreateAcceleratorTable Создает таблицу акселератора.
DestroyAcceleratorTable Уничтожает таблицу акселераторов.
LoadAccelerator Загружает указанную таблицу акселераторов.
TranslateAccelerator Обрабатывает клавиши акселератора для команд меню. Функция преобразует сообщение WM_KEYDOWN или WM_SYSKEYDOWN в сообщение WM_COMMAND или WM_SYSCOMMAND (если в указанной таблице акселератора есть запись), а затем отправляет сообщение WM_COMMAND или WM_SYSCOMMAND непосредственно в указанную процедуру окна. TranslateAccelerator не возвращается, пока процедура окна не обработала сообщение.

Сообщения акселератора клавиатуры

Имя Описание
WM_CHANGEUISTATE Отправлено, чтобы указать, что состояние пользовательского интерфейса должно быть изменено.
WM_INITMENU Отправляется, когда меню будет активно. Это происходит, когда пользователь щелкает элемент в строке меню или нажимает клавишу меню. Это позволяет приложению изменять меню перед отображением.
Окно получает это сообщение через функцию WindowProc.
WM_QUERYUISTATE Отправлено, чтобы получить состояние пользовательского интерфейса для окна.
WM_UPDATEUISTATE Отправлено изменить состояние пользовательского интерфейса для указанного окна и всех дочерних окон.

Уведомления акселератора клавиатуры

Имя Описание
WM_INITMENUPOPUP Отправляется, когда раскрывающееся меню или подменю будет активно. Это позволяет приложению изменять меню перед отображением, не изменяя все меню.
WM_MENUCHAR Отправляется, когда меню активно, и пользователь нажимает клавишу, которая не соответствует ни одному ключу mnemonic или акселератору. Это сообщение отправляется в окно, которое владеет меню.
WM_MENUSELECT Отправляется в окно владельца меню, когда пользователь выбирает пункт меню.
WM_SYSCHAR Размещено в окне с фокусом клавиатуры при переводе сообщения WM_SYSKEYDOWN функцией TranslateMessage. Он задает код символа системного символа, т. е. клавиша символа, которая нажимается во время нажатия клавиши ALT.
WM_SYSCOMMAND Окно получает это сообщение, когда пользователь выбирает команду из меню окно или когда пользователь выбирает кнопку "Развернуть", "Свернуть кнопку", кнопку восстановления или кнопку закрытия.

Структуры акселератора клавиатуры

Имя Описание
ACCEL Определяет ключ акселератора, используемый в таблице акселератора.