И опять динамические меню

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Went
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 01.09.2004 (Ср) 17:25
Откуда: Rostov-on-Don

И опять динамические меню

Сообщение Went » 31.05.2010 (Пн) 23:29

Уважаемые программисты!
Гугл не помог или я чего-то не пойму. Понимаю, что вопросом этим достал... но ответа я, к сожалению, толком так и не получил.
Нужно создавать динамически меню на форме. Если меню создавать массивом:
Load mnuF1(1) - создает новое меню на форме.
Load mnuF2(1) - создает подменю в первом меню
Как создать подменю в созданном меню? Или как переместить созданное подменю из первого меню во второе?
Или как это сделать через API?
Не все ОПЕРАТОРЫ одинаково хороши

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: И опять динамические меню

Сообщение iGrok » 01.06.2010 (Вт) 0:16

Если через API, то ищи по CreateMenu, AppendMenu и т.п. Но это придётся ВСЁ делать через API, в т.ч. сабклассить окно на предмет отлова менюшных сообщений, и т.п. Впрочем, это не сложно.

А не через апи.. Кажись, нельзя этого средствами VB сделать. То есть создать десяток пунктов рядом - это пожалуйста. А подпункты и т.п., кажись, низя.
label:
cli
jmp label

Went
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 01.09.2004 (Ср) 17:25
Откуда: Rostov-on-Don

Re: И опять динамические меню

Сообщение Went » 01.06.2010 (Вт) 7:59

iGrok писал(а):Если через API, то ищи по CreateMenu, AppendMenu и т.п. Но это придётся ВСЁ делать через API, в т.ч. сабклассить окно на предмет отлова менюшных сообщений, и т.п. Впрочем, это не сложно.

API так API. Я согласен :D А примеры где можно взять? В API-Guid'е примеры создания, про отлов менюшных сообщений ничего нет :(
Не все ОПЕРАТОРЫ одинаково хороши

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: И опять динамические меню

Сообщение Antonariy » 01.06.2010 (Вт) 10:10

Ловить нужно WM_COMMAND, в lParam или wParam будет id нажатого меню.
Лучший способ понять что-то самому — объяснить это другому.

Went
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 01.09.2004 (Ср) 17:25
Откуда: Rostov-on-Don

Re: И опять динамические меню

Сообщение Went » 01.06.2010 (Вт) 11:22

Ээммм... а как его юзать? Строчку можно?
Не все ОПЕРАТОРЫ одинаково хороши

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: И опять динамические меню

Сообщение Antonariy » 01.06.2010 (Вт) 13:42

Лучший способ понять что-то самому — объяснить это другому.

Went
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 01.09.2004 (Ср) 17:25
Откуда: Rostov-on-Don

Re: И опять динамические меню

Сообщение Went » 01.06.2010 (Вт) 14:18

Угусь, понял. Спасибо :)
Не все ОПЕРАТОРЫ одинаково хороши

Ser-Robotiaga
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 19.01.2007 (Пт) 0:45

Re: И опять динамические меню

Сообщение Ser-Robotiaga » 01.06.2010 (Вт) 18:02

Если под динамическим понимается контекстное меню, то почему нельзя в редакторе меню сделать еще один уровень меню (подменю)? Встроенный редактор, вроде, позволяет сделать многоуровневое контекстное меню.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: И опять динамические меню

Сообщение iGrok » 01.06.2010 (Вт) 18:11

Под динамическим понимается динамическое. То есть создаваемое кодом. Во время выполнения.
Так, чтобы во время выполнения можно было добавить пункты, подменю, разделители и т.п.
label:
cli
jmp label

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: И опять динамические меню

Сообщение Денис » 01.06.2010 (Вт) 18:11

Ser-Robotiaga писал(а):Если под динамическим понимается контекстное меню, то почему нельзя в редакторе меню сделать еще один уровень меню (подменю)? Встроенный редактор, вроде, позволяет сделать многоуровневое контекстное меню.


Нет, глубокоуважаемый сер, понимается не это. Понимается добавление пунктов во время выполнения программы.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Went
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 01.09.2004 (Ср) 17:25
Откуда: Rostov-on-Don

Re: И опять динамические меню

Сообщение Went » 01.06.2010 (Вт) 22:20

Ser-Robotiaga писал(а):Если под динамическим понимается контекстное меню, то почему нельзя в редакторе меню сделать еще один уровень меню (подменю)? Встроенный редактор, вроде, позволяет сделать многоуровневое контекстное меню.

Да, встрроенный редактор позволяет следать менюшные рога любой ветвистости. Но они будут статичными, я не смогу программно добавить что-то в них или удалить (хотя с удалением я мог и погорячиться ;) ).

iGrok писал(а):Под динамическим понимается динамическое. То есть создаваемое кодом. Во время выполнения.
Так, чтобы во время выполнения можно было добавить пункты, подменю, разделители и т.п.

Денис писал(а): Нет, глубокоуважаемый сер, понимается не это. Понимается добавление пунктов во время выполнения программы.

По сути - вы правы. Программа читает из файла информацию и в соответствии с ней формирует набор пакетов инструментов (то есть меню) и разбрасывает сами инструменты по этим пакетам (то есть создает подменю в каждом меню). Ну и потом эти инструменты должны еще и работать.
Не все ОПЕРАТОРЫ одинаково хороши

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: И опять динамические меню

Сообщение Antonariy » 02.06.2010 (Ср) 12:58

КО набигают.
Лучший способ понять что-то самому — объяснить это другому.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 4

    TopList