Win32 API. Быстрые клавиши - Сообщение WM_MENUCHAR
ОГЛАВЛЕНИЕ
Страница 25 из 28
Сообщение WM_MENUCHAR
Сообщение WM_MENUCHAR отправляется тогда, когда меню активизируется, а пользователь, нажимает клавишу, которая не соответствует какому-либо символу или клавише - ускорителю. Это сообщение отправляется окну, которое владеет меню.
Синтаксис
WM_MENUCHAR
chUser = (char) LOWORD(wParam); // символ ASCII
fuFlag = (UINT) HIWORD(wParam); // флажок меню
hmenu = (HMENU) lParam; // дескриптор меню
Параметры
chUserЗначение младшего слова wParam. Определяет символ ASCII, который соответствует клавише, нажатой пользователем.
fuFlag
Значение старшего слова wParam. Определяет тип активного меню. Этот параметр может быть одним из следующих значений:
- MF_POPUP - Выскакивающее меню, подменю или контекстное меню
- MF_SYSMENU - Меню окна (системное меню (System Menu) или меню Управления (Control menu)
hmenu
Значение lParam. Идентифицирует активное меню.
Возвращаемые значения
Прикладная программа, которая обрабатывает это сообщение, должна возвратить одно из следующих величин в старшем слове возвращаемого значения:- 0 - Сообщает Windows, что оперативная система должна сбросить символ нажатый пользователем и создать короткий гудок в системном динамике.
- 1 - Сообщает Windows, что оперативная система должна закрыть активное меню.
- 2 - Сообщает Windows, что младшее слово величины возвращаемого значения устанавливает отсчитываемое от нуля взаимное положение пункта меню. Этот элемент выбирается Windows.
Замечания
Младшее слово игнорируется, если старшее слово содержит 0 или 1. Прикладная программа должна обработать это сообщение, когда клавиша - ускоритель используется, чтобы выбрать пункт меню, который отображает точечный рисунок.Размещение и совместимость WM_MENUCHAR
Windows NT Да
Win95 Да
Win32s Да
Импортируемая библиотека -
Заголовочный файл winuser.h
Unicode Нет
Замечания по платформе Не имеется