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