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

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