Функция SetMenuInfo

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

SetMenuInfo устанавливает информацию для заданного меню
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

Смотри также

GetMenuInfo

Категория

Меню