Функция GetSystemMenu

Declare Function GetSystemMenu Lib "user32" _
    (ByVal hWnd As Long, _
    ByVal bRevert As Long) As Long

GetSystemMenu получает дескриптор системного меню окна. Системное меню - это меню, появляющее при щелчке на пиктограмме программы в области заголовка или в самой области заголовка правой кнопкой мыши. Как только Вы получаете дескриптор к системному меню окна, Вы можете использовать другие функции меню, чтобы добавлять или удалять пункты из него. Однако, обратите внимание, что все пункты на системном меню посылают сообщение WM_SYSCOMMAND к родительскому окну вместо обычного WM_COMMAND. В свою очередь, GetSystemMenu можно также использовать для восстановления системного меню к его заданному по умолчанию виду, удаляя любые сделанные модификации

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

Если bRevert равен 0, GetSystemMenu возвращает дескриптор системного меню. Если bRevert имеет ненулевое значение, функция возвращает 0

Параметры

hWnd
Дескриптор окна
bRevert
Если нуль, функция получает дескриптор к системному меню окна. Если отлично от нуля, функция вместо этого возвращает системное меню назад к его заданному по умолчанию виду

Пример

' смотри также пример menu.zip
' Делаем цветное системное меню
Dim hSysmenu As Long     ' дескриптор системного меню
Dim miMenuInfo As MENUINFO

hSysmenu = GetSystemMenu(Me.hwnd, False)

miMenuInfo.cbSize = Len(miMenuInfo)

' Устанавливаем маску для изменения цвета меню
miMenuInfo.fMask = MIM_BACKGROUND

miMenuInfo.hbrBack = CreateSolidBrush(vbRed)

' Заносим новую информацию в меню
Call SetMenuInfo(hSysmenu, miMenuInfo)

DrawMenuBar hSysmenu

Смотри также

GetMenu

Категория

Меню