Автор:
Евгений Ипатов | добавлено: 06.03.2010, 12:18 | просмотров: 2186 (1+) | комментариев:
0 | рейтинг:
x6
'функция 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(Form1.hwnd)
'определяем заголовок, если у Вас есть, например
'File и Edit, то индексом задаёте нужный
hSubMenu = GetSubMenu(hMenu, 0)
'здесь мы определяем, что работать хотим с первым _
пунктом меню, т.к. индекс равен 0
hMenuItem = GetMenuItemID(hSubMenu, 0)
'"клеим" картинку к первому пункту
SetMenuItemBitmaps hMenu, hMenuItem, MF_BITMAP, _
Image1.Picture, Image1.Picture
End Sub
Private Sub Open_Click()
Dim hMenu&, hSubMenu&, hMenuItem& 'объявление переменых типом Long
'определяем на какой форме нам нужно меню
hMenu = GetMenu(Form1.hwnd)
'определяем заголовок, если у Вас есть, например
'File и Edit, то индексом задаёте нужный
hSubMenu = GetSubMenu(hMenu, 0)
'здесь мы определяем, что работать хотим с первым _
пунктом меню, т.к. индекс равен 0
hMenuItem = GetMenuItemID(hSubMenu, 0)
'"клеим" картинку к первому пункту
SetMenuItemBitmaps hMenu, hMenuItem, MF_BITMAP, _
Image2.Picture, Image2.Picture
End Sub