Функция 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
Категория
Меню