Страница: 1 |
Кто-нибудь знает как PopupMenu со значками сделать(ато как-то не салидно получается...:)
Попробуй использовать API или осх. Если нет ocx'a, то я могу дать... Можешь посмотреть у меня на сайте пример "искусственного" PopupMenu со значками (используя форму) Я извеняюсь за запоздалый ответ...Давно в инете не был(деньги кончались)...(((( Так как насчёт OCX(Popupmenu)? Кидай мне на cooller@hotmail.ru 2Cooller: вышлю, когда найду у себя в компе... или сам напишу пример... Вообщем, жди пару деньков. А вот Павел тебе чепушку поставил... Осторожно... 2Cooller: не бойся, я тебе не забыл... Пока попробуй это, потом получишь контрол. Поразбирайся, может поймешь (если ты API не знаешь): 'функция 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 Пока попробуй это, потом получишь контрол. Поразбирайся, может поймешь (если ты API не знаешь): 'функция 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 2Cooler: посмотри мой топик - "Этот топик для всех (Dendy)", там говорится что это такое за ЧЕРЕП Страница: 1 |
Вопрос: PopupMenu со значками???
Добавлено: 05.12.03 01:22
Автор вопроса: Cooller
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #1
Добавлено: 05.12.03 07:56
Номер ответа: 2
Автор ответа:
aka
Вопросов: 2
Ответов: 60
Web-сайт:
Профиль | | #2
Добавлено: 05.12.03 08:33
см. пример "Разворачивающееся всплывающее меню"
http://hotmix.narod.ru/russian/vb_progr2.html
Номер ответа: 3
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #3
Добавлено: 06.12.03 06:38
А может в сторону ресурсов покопаться?
Номер ответа: 4
Автор ответа:
Cooller
Вопросов: 10
Ответов: 28
Профиль | | #4
Добавлено: 09.12.03 00:22
Номер ответа: 5
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #5
Добавлено: 09.12.03 09:08
Номер ответа: 6
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #6
Добавлено: 09.12.03 09:13
Номер ответа: 7
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #7
Добавлено: 09.12.03 19:28
Номер ответа: 8
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #8
Добавлено: 09.12.03 19:30
Номер ответа: 9
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #9
Добавлено: 10.12.03 19:06