Win32 API. Быстрые клавиши - Сообщение WM_MENUSELECT
ОГЛАВЛЕНИЕ
Страница 26 из 28
Сообщение WM_MENUSELECT
Сообщение WM_MENUSELECT отправляется окну владельца меню, когда пользователь выбирает пункт меню.
Синтаксис
WM_MENUSELECT
uItem = (UINT) LOWORD(wParam); // пункт меню или индекс подменю
fuFlags = (UINT) HIWORD(wParam); // флажки меню
hmenu = (HMENU) lParam; // дескриптор меню, по которому щелкнули мышью
Параметры
uItemЗначение младшего слова wParam. Если выбранный пункт - командный пункт, этот параметр содержит идентификатор пункта меню. Если выбранный пункт открывает выпрыгивающее меню или подменю, этот параметр содержит индекс меню выпрыгивающего меню или подменю, в главном меню, а параметр hMenu тогда содержит дескриптор главного (по которому щелкнули) меню; используйте функцию GetSubMenu, чтобы получить дескриптор меню выпрыгивающего меню или подменю.
fuFlags
Значение старшего слова wParam. Определяет один или несколько флажков меню. Этот параметр может быть комбинацией следующих значений:
- MF_BITMAP - Пункт отображает точечный рисунок.
- MF_CHECKED - Пункт проверяется.
- MF_DISABLED - Пункт блокируется.
- MF_GRAYED - Пункт становится недоступным.
- MF_HILITE - Пункт выделяется.
- MF_MOUSESELECT - Пункт выбирается при помощи мыши.
- MF_OWNERDRAW - Пункт нарисованный пользователем.
- MF_POPUP - Пункт открывает выскакивающее меню или подменю.
- MF_SYSMENU - Пункт содержится в меню окна (известное также как Системное или Управляющее меню). Параметр hmenu идентифицирует меню окна, связанное с сообщением.
hmenu
Значение lParam. Идентифицирует меню, по которому щелкнули мышью.
Возвращаемые значения
Если приложение обрабатывает это сообщение, оно должно возвратить нуль.Замечания
Если параметр fuFlags содержит 0xFFFF, а параметр hmenu содержит ПУСТО (NULL), значит Windows закрыла меню.Не используйте для fuFlags значение –(минус)1. Это не делается потому, что fuFlags определяется как (UINT) HIWORD (wParam). Если бы HIWORD (wParam) было 0xFFFF, fuFlags (из-за приведения UINT) станет 0x0000FFFF, а не –(минус)1.
Смотри также
GetSubMenuРазмещение и совместимость WM_MENUSELECT
Windows NT Да
Win95 Да
Win32s Да
Импортируемая библиотека -
Заголовочный файл winuser.h
Unicode Нет
Замечания по платформе Не имеется