Поделиться через


Функция GetSystemMenu (winuser.h)

Позволяет приложению получить доступ к меню окна (также известному как системное меню или меню управления) для копирования и изменения.

Синтаксис

HMENU GetSystemMenu(
  [in] HWND hWnd,
  [in] BOOL bRevert
);

Параметры

[in] hWnd

Тип: HWND

Дескриптор окна, которому будет принадлежать копия меню окна.

[in] bRevert

Тип: BOOL

Выполняемое действие. Если этот параметр имеет значение FALSE, GetSystemMenu возвращает дескриптор копии текущего меню окна. Изначально копия идентична меню окна, но ее можно изменить. Если этот параметр имеет значение TRUE, GetSystemMenu возвращает меню окна в состояние по умолчанию. Предыдущее меню окна, если таковое имеется, удаляется.

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

Тип: HMENU

Если параметр bRevert имеет значение FALSE, возвращаемое значение представляет собой дескриптор копии меню окна. Если параметр bRevert имеет значение TRUE, возвращаемое значение равно NULL.

Комментарии

Любое окно, которое не использует функцию GetSystemMenu для создания собственной копии меню окна, получает стандартное меню окна.

Меню окна изначально содержит элементы с различными значениями идентификаторов, такими как SC_CLOSE, SC_MOVE и SC_SIZE.

Элементы меню в меню окна отправляют WM_SYSCOMMAND сообщения.

Все предопределенные пункты меню окна имеют номера идентификаторов, превышающие 0xF000. Если приложение добавляет команды в меню окна, оно должно использовать номера идентификаторов меньше 0xF000.

В зависимости от ситуации система автоматически затеняет элементы стандартного меню окна. Приложение может выполнить собственную проверку или выделение серым цветом, отвечая на WM_INITMENU сообщение, отправленное перед отображением любого меню.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-menu-l1-1-0 (представлено в Windows 8)

См. также раздел

Основные понятия

GetMenu

InsertMenuItem

Меню

Справочные материалы

SetMenuItemInfo

WM_INITMENU

WM_SYSCOMMAND