|
Добавьте на форму 3 Image. Создайте меню с тремя подменю 'функция GetMenu определяет форму с
нужным меню
Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
'функция GetSubMenu определяет заголовок меню с
которым будет идти работа
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal
nPos As Long) As Long
'функция GetMenuItemID определяет пункт меню с которым
будет идти работа
Private Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal
nPos As Long) As Long
'функция SetMenuItemBitmaps приклеивает к определённому
пункту меню картинку
Private Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long,
ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal
hBitmapChecked As Long) As Long
'объявляется константа, о назначении которой я
так и не докопался :-(
Private Const MF_BITMAP = &H4&
Private Sub Form_Load()
Dim hMenu&, hSubMenu&, hMenuItem& 'объявление переменых
типом Long
'определяем на какой форме нам нужно меню
hMenu = GetMenu(Me.hwnd)
'определяем заголовок, если у Вас есть, например
File и Edit, то индексом задаёте нужный
hSubMenu = GetSubMenu(hMenu, 0)
'здесь мы определяем, что работать хотим с первым
пунктом меню, т.к. индекс равен 0
hMenuItem = GetMenuItemID(hSubMenu, 0)
'"клеим" картинку к первому пункту
SetMenuItemBitmaps hMenu, hMenuItem, MF_BITMAP, Image1.Picture, Image1.Picture
'здесь мы определяем, что работать хотим со
вторым пунктом меню, т.к. индекс равен 1
hMenuItem = GetMenuItemID(hSubMenu, 1)
'"клеим" картинку ко второму пункту
SetMenuItemBitmaps hMenu, hMenuItem, MF_BITMAP, Image2.Picture, Image2.Picture
'здесь мы определяем, что работать хотим с
третьим пунктом меню, т.к. индекс равен 2
hMenuItem = GetMenuItemID(hSubMenu, 2)
'"клеим" картинку к третьему пункту
SetMenuItemBitmaps hMenu, hMenuItem, MF_BITMAP, Image3.Picture, Image3.Picture
End Sub
|
|