9.9.3.5 - Сообщение WM_MENUSELECT

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

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков.