Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Тайна меню Добавлено: 30.10.04 20:44  

Автор вопроса:  shareman
Вот задача:
Есть некая форма, с неким меню. Какое оно, сколько у него элементов и т.п. - неизвестно. Есть процедура, получающая в качестве параметра элемент меню:
Private Sub DummyMenu( mnu as Menu )

Спрашивается - как, имея только этот элемент, узнать манипулятор его меню, его ID и другие подробности?
У него в свойствах обычная дребедень, а Parent - просто форма.

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 30.10.04 21:07
Надо передавать в процедуру не меню, а хэндл формы, далее с пом. АПИ GetMenu() & GetSubMenu смотреть все менюхи...

ЗЫ
Вообще если очень так надо, то создавай менюю на АПИ и работай с ним на нем же...

Ответить

Номер ответа: 2
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #2 Добавлено: 30.10.04 21:18
Да! Меню на АПи - рулит! Туда можно и картинки всунуть, и без глюков!

Ответить

Номер ответа: 3
Автор ответа:
 shareman



Вопросов: 11
Ответов: 37
 Профиль | | #3 Добавлено: 30.10.04 21:26
Я, наверное, неточно объяснил - все это
Надо передавать в процедуру не меню, а хэндл формы, далее с пом. АПИ GetMenu() & GetSubMenu смотреть все менюхи

я знаю, нужно по элементу меню узнать то, что вернула бы GetSubMenu, т.е. манипулятор того меню, к которому принадлежит данный, конкретный элемент. Если я буду все перебирать - как мне определить, что это именно тот, который мне нужен? Ведь единственное уникальное свойство - Name - есть только у элементов меню, а API на него наплевать. С другой стороны, VB ничего не знает про ID меню, с которым работают API.

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 30.10.04 23:55
Я сам задавался этим вопросом и окромя того решения что написал не знаю... В качестве параметра мне так же не удалось передать менюшку, т.ч. я на все это "забил" и воспользовался тем что нам дарит WIndows, а именно - API... Найдешь другой способ, расскажи ;)

Ответить

Номер ответа: 5
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #5 Добавлено: 31.10.04 01:42
Может, MENUITEMINFO поможет, в частности его элемент hSubMenu?
hSubMenu
Handle to the drop-down menu or submenu associated with the menu item. If the menu item is not an item that opens a drop-down menu or submenu, this member is NULL. Set fMask to MIIM_SUBMENU to use hSubMenu.

 
Или исходить из того, что меню - окно класса #32768 и искать его парента

Ответить

Номер ответа: 6
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #6
Добавлено: 31.10.04 01:44
Да ч АПИ то найти менюшки и проенумить их это не проблемма, а вот как получить VB'шный Name, это надо в COM документации копаться да на угад тыкать...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам