Ресурсы, связанные со всплывающим меню, которое назначено окну, освобождены автоматически. Если всплывающее меню не назначено окну, приложение должно освободить ресурсы системы, связанные с меню перед закрытием. Приложение освобождает ресурсы меню, вызывая функцию DestroyMenu.
Windows 95 только: система может поддерживать максимум 16,364 дескрипторов меню.
См. Также
AppendMenu, CreateMenu, DestroyMenu, InsertMenu, SetMenu, TrackPopupMenu
Функция GetMenu восстанавливает дескриптор меню, назначенного данному окну.
HMENU GetMenu (
HWND hWnd // дескриптор окна
);
Параметры
hWnd
Идентифицирует окно, чей дескриптор меню отыскан.
Возвращаемое значение
В случае успешного завершения, возвращаемое значение - дескриптор меню. Если данное окно не имеет никакого меню, возвращаемое значение - NULL. Если окно - дочернее окно, возвращаемое значение не определено.
См. Также
GetSubMenu, SetMenu
Функция GetSubMenu отыскивает дескриптор всплывающего меню, активизируемого определенным пунктом меню.
HMENU GetSubMenu (
HMENU hMenu, // дескриптор меню
Int nPos // позиция пункта меню
);
Параметры
hMenu
Идентифицирует меню.
nPos
Определяет нулевую относительную позицию пункта в данном меню, который активизирует всплывающее меню.
Возвращаемое значение
В случае успешного завершения, возвращаемое значение - дескриптор всплывающего меню, активизированного пунктом меню. Если пункт меню не активизирует всплывающее меню, то - NULL.
См. Также
CreatePopupMenu, GetMenu
Функция GetSystemMenu позволяет приложению обращаться к Системному меню для копирования и изменения.
HMENU GetSystemMenu (
hWND hWnd, // дескриптор окна
BOOL bRevert // флажок сброса
);
Параметры
hWnd
Идентифицирует окно, которое будет обладать копией Системного меню.
bRevert
Определяет действие, которое должно произойти. Если этот параметр - FALSE, GetSystemMenu возвращает дескриптор копии используемого в настоящее время Системного меню. Копия первоначально идентична Системному меню, но может изменяться.
Если этот параметр - TRUE, GetSystemMenu сбрасывает Системное меню обратно к состоянию значения по умолчанию Windows. Предыдущее Системное меню будет разрушено.
Возвращаемое значение
Если параметр bRevert - FALSE, возвращаемое значение - дескриптор копии Системного меню. Если параметр bRevert - TRUE, возвращаемое значение - NULL.
Замечания
Любое окно, которое не использует меню GetSystemMenu, чтобы сделать собственную копию Системного меню, получает стандартное Системное меню.
Системное меню первоначально содержит пункты с различными значениями идентификатора, типа SC_CLOSE, SC_MOVE, и SC_SIZE.
Пункты меню Системного меню посылают WM_SYSCOMMAND сообщения.
Все предопределенные пункты Системного меню имеют номер идентификатора больше чем 0xF000. Если приложение добавляет команды к Системному меню, оно должно использовать номера идентификатора меньше чем 0xF000.
Windows автоматически подсвечивает пункты на стандартном Системном меню, в зависимости от местоположения. Приложение может выполнять собственную проверку или подсвечивание, отвечая на WM_INITMENU сообщение, которое посылается перед тем, как меню отображается.
См. Также
GetMenu, WM_INITMENU, WM_SYSCOMMAND
Функция LoadMenu загружает указанный ресурс меню из выполнимой программы (. EXE) файл, ассоциированный с экземпляром приложения.
HMENU LoadMenu (
HINSTANCE hInstance, // дескриптор экземпляра приложения
LPCTSTR lpMenuName // строка меню или идентификатор ресурса меню
);
Параметры
hInstance
Идентифицирует экземпляр модуля, содержащего ресурс меню, который будет загружен.
lpMenuName
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.