Win32 API. Быстрые клавиши - Сообщение WM_MENUCHAR

ОГЛАВЛЕНИЕ

Сообщение 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    Нет
Замечания по платформе  Не имеется