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
' смотри также пример 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