User and Graphics Device Interface Objects, страница 8

Ресурсы, связанные со всплывающим меню, которое назначено окну,  освобождены автоматически. Если всплывающее меню не назначено окну, приложение должно освободить ресурсы системы, связанные с меню перед закрытием. Приложение освобождает ресурсы меню,  вызывая функцию DestroyMenu.

Windows 95 только: система может поддерживать максимум 16,364 дескрипторов меню.

См. Также

AppendMenu, CreateMenu, DestroyMenu, InsertMenu, SetMenu, TrackPopupMenu

GetMenu

Функция GetMenu восстанавливает дескриптор меню, назначенного данному окну.

HMENU GetMenu (

    HWND hWnd  // дескриптор окна 

  );           

Параметры

hWnd

Идентифицирует окно, чей дескриптор меню отыскан.

Возвращаемое значение

В случае успешного завершения, возвращаемое значение - дескриптор меню. Если данное окно не имеет никакого меню, возвращаемое значение - NULL. Если окно - дочернее окно, возвращаемое значение не определено.

См. Также

GetSubMenu, SetMenu

GetSubMenu

Функция GetSubMenu отыскивает дескриптор всплывающего меню, активизируемого определенным пунктом меню.

HMENU GetSubMenu (

    HMENU hMenu,          // дескриптор меню

    Int nPos            // позиция пункта меню

  );           

Параметры

hMenu

Идентифицирует меню.

nPos

Определяет нулевую относительную позицию пункта в данном меню, который активизирует всплывающее меню.

Возвращаемое значение

В случае успешного завершения, возвращаемое значение - дескриптор всплывающего меню, активизированного пунктом меню. Если пункт меню не активизирует всплывающее меню, то - NULL.

См. Также

CreatePopupMenu, GetMenu

GetSystemMenu

Функция 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

Функция LoadMenu загружает указанный ресурс меню из выполнимой программы (. EXE) файл, ассоциированный с экземпляром приложения.

HMENU LoadMenu (

    HINSTANCE hInstance,         // дескриптор экземпляра приложения

    LPCTSTR lpMenuName         // строка меню или идентификатор ресурса меню 

  );           

Параметры

hInstance

Идентифицирует экземпляр модуля, содержащего ресурс меню, который будет загружен.

lpMenuName