Функция GetMenuInfo

Declare Function GetMenuInfo Lib "user32" (ByVal hMenu As Long, lpcmi As MENUINFO) As Long

GetMenuInfo получает информацию о заданном меню.

hMenu
Описатель меню
lpcmi
Структура MENUINFO, получающая информацию о меню

Пример

' Создаем цветное меню с помощь кисти
Dim lRet As Long       ' возвращаемое значение
Dim hMenu As Long     ' описатель меню
Dim hBrush As Long     ' описатель создаваемой кисти
Dim lbBrushInfo As LOGBRUSH    ' информация о кисти
Dim miMenuInfo As MENUINFO  ' информация о меню

lbBrushInfo.lbStyle = BS_SOLID  'стиль кисти
lbBrushInfo.lbColor = vbRed    ' цвет кисти
lbBrushInfo.lbHatch = 0         'игнорируем
' Создаем кисть
hBrush = CreateBrushIndirect(lbBrushInfo)
' Получим описатель меню
hMenu = GetMenu(Me.hwnd)                    
miMenuInfo.cbSize = Len(miMenuInfo)
lRet = GetMenuInfo(hMenu, miMenuInfo)
' Устанавливаем маску для изменения цвета меню и его подменю
miMenuInfo.fMask = MIM_APPLYTOSUBMENUS Or MIM_BACKGROUND
' Связываем нашу кисть с меню
miMenuInfo.hbrBack = hBrush
' Заносим новую информацию в меню
lRet = SetMenuInfo(hMenu, miMenuInfo)
DeleteObject hBrush

Смотри также

SetMenuInfo

Категория

Меню