Функция SetMenuItemBitmaps

Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal Flags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
SetMenuItemBitmaps задает заданные растровые изображения для элемента меню. Можно использовать для замены стандартным "галочкам". Желательно использовать монохромные картинки небольших размеров (10x10 пикселов). Либо воспользуйтесь функцией GetSystemMetrics с параметрами CXMENUCHECK и CYMENUCHECK для получения используемых размеров
hMenu
Дескриптор меню
nPosition
Определяет позицию меню для изменения. Используется параметр Flags
Flags
Флаги, определяющие nPosition. Могут принимать следующие значения:
MF_BYCOMMAND = &H0Параметр, определяющий идентификатор меню. Используется по умолчанию
MF_BYPOSITION = &H400 Параметр, определяющий позицию меню, отсчитываемый от 0
hBitmapUnchecked
Дескриптор изображения, обозначающего непомеченное состояние
hBitmapChecked
Дескриптор изображения, обозначающего помеченное состояние

Пример

' Добавим собственные изображения в меню.
' Создайте небольшое меню с тремя подменю
Dim hmenu As Long
Dim hsubmenu As Long

' Получим дескриптор меню
hmenu = GetMenu(Form1.hwnd)
hsubmenu = GetSubMenu(hmenu, 0) ' дескриптор подменю
' Вставляем картинку к трем подменю
SetMenuItemBitmaps hsubmenu, 0, MF_BYPOSITION, Image1.Picture, Image1.Picture
SetMenuItemBitmaps hsubmenu, 1, MF_BYPOSITION, Image2.Picture, Image2.Picture
' в третьем подменю работаем с свойствами Checked-UnChecked
SetMenuItemBitmaps hsubmenu, 2, MF_BYPOSITION, imgUnCheked.Picture, imgCheked.Picture

Категория

Меню