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


Сочетания клавиш

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

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

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

Функции сочетания клавиш

Имя Описание
CopyAcceleratorTable Копирует указанную таблицу ускорителей. Эта функция используется для получения данных таблицы ускорителя, соответствующей дескриптору таблицы ускорителя, или для определения размера данных таблицы ускорителя.
CreateAcceleratorTable Создает таблицу ускорителей.
DestroyAcceleratorTable Уничтожает таблицу ускорителей.
LoadAccelerators Загружает указанную таблицу ускорителей.
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 Отправляется, когда меню активно и пользователь нажимает клавишу, которая не соответствует ни одной мнемонической клавише или клавише ускорителя. Это сообщение отправляется в окно, которому принадлежит меню.
WM_MENUSELECT Отправляется в окно владельца меню, когда пользователь выбирает пункт меню.
WM_SYSCHAR Размещается в окне с фокусом клавиатуры при переводе WM_SYSKEYDOWN сообщения с помощью функции TranslateMessage . Он задает код символа системной клавиши символов, то есть клавиши символов, нажатой при нажатии клавиши ALT.
WM_SYSCOMMAND Окно получает это сообщение, когда пользователь выбирает команду в меню Окно или когда пользователь нажимает кнопку развернуть, свернуть, восстановить или закрыть кнопку.

Структуры сочетаний клавиш

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