Сообщение WM_MENUSELECT отправляется окну владельца меню, когда пользователь выбирает пункт меню.
Синтаксис
WM_MENUSELECT uItem = (UINT) LOWORD(wParam); // пункт меню или индекс подменю fuFlags = (UINT) HIWORD(wParam); // флажки меню hmenu = (HMENU) lParam; // дескриптор меню, по которому щелкнули мышью
Параметры
uItem
Значение младшего слова wParam. Если выбранный пункт - командный пункт, этот параметр содержит идентификатор пункта меню. Если выбранный пункт открывает выпрыгивающее меню или подменю, этот параметр содержит индекс меню выпрыгивающего меню или подменю, в главном меню, а параметр hMenu тогда содержит дескриптор главного (по которому щелкнули) меню; используйте функцию GetSubMenu, чтобы получить дескриптор меню выпрыгивающего меню или подменю.
fuFlags
Значение старшего слова wParam. Определяет один или несколько флажков меню. Этот параметр может быть комбинацией следующих значений:
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 Нет Замечания по платформе Не имеется