|
|
|
Supreme Being
      
участник
Last Login: 17.06.2000 2:39
Сообщ.: 257,
Visits: 2 861
|
|
| Не могу вставить картинки в стандартное меню (как в MS Office). Помогите.
|
|
|
|
|
Junior Member
      
участник
Last Login: 09.06.2000 11:25
Сообщ.: 10,
Visits: 111
|
|
1.Создайте форму.
2.На форме создайте три картинки Image1, Image2, Image3.
И "приклейте" к ним какие-нибудь пикчеры ;-). Но учтите,
что картинки должны быть очень маленькие!!! Бэйсик их не будет
Вам упаковывать и "втискивать" к пунктам, он их просто не покажет.
3.Создаём на форме меню: Верхний уровень (заголовок) пусть
будет File и три подуровня, пусть они называются Open, Save,
Exit. Имена для их событий в поле Name Вы можете использовать
любые.
4.Теперь в самый верх формы вписываем:
'функция 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&
5.В Form_Load пишем:
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
'здесь мы определяем, что работать хотим со вторым _
пунктом меню, т.к. индекс равен 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
PS: Есть еще несколько других способов....
кинь адрес - пришлю....
|
|
|
|
|
Supreme Being
      
участник
Last Login: 17.06.2000 2:39
Сообщ.: 257,
Visits: 2 861
|
|
Гигантское спасибо!!!!!!!
Мой адрес:
hmoll@online.ru
Благодарю еще раз!
|
|
|
|