[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Наш сайт » Visual basic » Меню в VB (Меню в VB)
Меню в VB
ilimДата: Пятница, 04.02.2011, 05:20 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 680
Награды: 17
Репутация: 4
Статус: Offline
Ты наверное заметил, как в некоторых программах(например в VB), в меню, напротив раздела, стоит картинка. Так вот, мы сейчас так же сделаем. Наша цель будет вставить в некоторые разделы меню свои картинки, чтобы это выглядело примерно так:

Начнем`с..
Для начала найди картинки(размер приблизатильно 14x14, можно побольше, можно поменьше), можешь взять мои:

Теперь, на форму кинь 4 Image.
В Image1.Picture = Картинка 1
В Image2.Picture = Картинка 2
В Image3.Picture = Картинка 3
В Image4.Picture = Картинка 4

Теперь создай меню, из следующих разделов:

Файд
....Создать
....Открыть
....Сохранить
....Сохранить как
....-
....Параметры страницы
....Печать
....-
....Выход

Имена разделам сам придумай, от них все равно ни чего не зависит.
Немного поясню, вот этот раздел: "....-" нужен для рисования линии в меню
Теперь перейдем к коду:

' Объявляем API
Private Declare Function GetMenu Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
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 M As Long, B As Long, H As Long, G As Long' Объявляем переменные

M = GetMenu(Form1.hWnd)
B = GetSubMenu(M, 0)

' H = GetMenuItemID(B, Здесь надо указать позицию меню, напротив которого будет картинка находиться)
H = GetMenuItemID(B, 2)
G = SetMenuItemBitmaps(M, H, MF_BITMAP, Image3.Picture, Image3.Picture)' Здесь надо указать имя image, в котором будет находиться картинка

H = GetMenuItemID(B, 3)
G = SetMenuItemBitmaps(M, H, MF_BITMAP, Image2.Picture, Image2.Picture)

H = GetMenuItemID(B, 5)
G = SetMenuItemBitmaps(M, H, MF_BITMAP, Image1.Picture, Image1.Picture)

H = GetMenuItemID(B, 6)
G = SetMenuItemBitmaps(M, H, MF_BITMAP, Image4.Picture, Image4.Picture)
End Sub


www.ilim.kz
 
Форум » Наш сайт » Visual basic » Меню в VB (Меню в VB)
Страница 1 из 11
Поиск: