Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 11.10.2007
Сообщений: 103

Динамически создаваемые меню. Иерархия.

25.04.2011, 17:41. Показов 1390. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Я хочу создавать елементы поп-ап-меню динамически. Как коллекцию. Но вот никак не допру, как создать при этом иерархию (вложенные меню).
Если посмотреть код, ваяемый генератором меню, - код подменю просто 'вложен' в код вышестоящих меню. Но не допру никак, как это можно сделать динамически, загружая меню при выполнении программы. Туплю или это невозможно?
Спасибо за помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.04.2011, 17:41
Ответы с готовыми решениями:

Как динамически создавать меню и подменю?
Как динамически создавать меню и подменю? Пробовал поработать с функцией CreateMenu, но не разобрался. Спасибо зпрпнее.

Можно ли изменять меню на форме динамически?
А?

Как динамически изменять шрифт меню
Интересно возможно динамическое изменение шрифта меню. Спасибо

8
Comanche
25.04.2011, 17:46
http://www.relib.com/forums/topic.asp?id=810874
0 / 0 / 0
Регистрация: 11.10.2007
Сообщений: 103
25.04.2011, 18:09  [ТС]
спасибо за ссылочку. то есть без API-функций тут не обойтись, если я правильно понял?
0
Comanche
25.04.2011, 18:49
Одноуровневые менюшки можно создавать динамически и одним лишь бэйсиком - через Load. А вот с иерархией - только АПИ.
0 / 0 / 0
Регистрация: 11.10.2007
Сообщений: 103
25.04.2011, 20:05  [ТС]
Ну с одноуровневыми ясно... нужны как раз вложенные. Но.. исчерпывающе. Большое спасибо.
0
0 / 0 / 0
Регистрация: 11.10.2007
Сообщений: 103
03.05.2011, 21:19  [ТС]
Ну во-первых хотел бы поблагодарить ув. Commanche за ссылочку с примером. Но вот такой проблем всё же имею ещё: в примере Вы указываете старт нового меню с кнопки. Вертикальная координата отсчитывается тоже от кнопки. У меня же другая история: меню должны показываться при правом щелчке мыши на узле дерева или из меню первого уровня на узле дерева (первый уровень, так сказать, чётко определён). Сам вызов проблем не представляет, но вот позиционирование... Ни меню, ни узел дерева не имеют ведь ничего похожего на применяемый Вами в примере свойство hWnd. Не подскажете за что можно было бы зацепиться? Как тут выкрутиться?

Такой ещё вопрос. Мне нужно стоить эти меню динамически, в зависимости от конфигурационных данных, читаемых из базы. Ну технически тут мне всё понятно. Но! Насколько надёжно будет работать данная конструкция? Не будет ли сильной зависимости от настроек (типа разрешения монитора) конкретной машины? Такое ощущение, что это уже где-то совсем граница визуального басика...
0
0 / 0 / 0
Регистрация: 11.10.2007
Сообщений: 103
04.05.2011, 12:56  [ТС]
Вот нашёл такую GetCursorPos. Похоже, с ней могу определить, где стоит мыша в дереве, ну и соответственно привязать позицию менюшки. Правильно понимаю?
Попробовал. Вроде похоже на то...
0
Comanche
04.05.2011, 13:40
Можно проще - у дерева есть метод HitTest, который можно вызывать из MouseDown или MouseUp.

А если меню хотят вызвать не мышой, а Shift+F10 ? Тут уже без АПИ не обойтись - потребуется сообщение TVM_GETITEMRECT.

Короче, см. ссылку:
http://groups.google.co.in/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&safe=off&threadm=uWaQ0Zm89GA.49%40upps snewspub05.moswest.msn.net&rnum=1&prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26safe%3Doff%26q%3Dvb%2BTVM_GETITEMREC T%2B-dotnet
0 / 0 / 0
Регистрация: 11.10.2007
Сообщений: 103
04.05.2011, 14:04  [ТС]
Не, это наверняка не пойдёт-у нас везде эти менюшки (статические до сих пор) вызывется с мыши, так что делать придётся как везде. Да и юзвери к этому привыкли - как ни верти это уже виндовский стандарт. Ну с этой курсор-позишн вобщем вполне удовлетворительно. Собственно чуточку подстроил просто Вами приведённый пример. Спасибо.

Тут вот другая незадача вышла-начальник сказал, что наша система управления правами юзеров не переварит иерархические создаваемые в рантайме менюхи, так что применить не смогу. (((-:::
НО ГЛАВНОЕ: разобрался. Применю при другой возможности. Большое спасибо ещё раз за поддержку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.05.2011, 14:04
Помогаю со студенческими работами здесь

Как динамически создать и изменить меню?
Как динамически создать и изменить меню? Т.е., допустим, имеется некий массив типа string, и некая переменная, допустим, mCaption, того же...

Динамически создаваемые индексы
Доброго времени суток! В рамках моей задачи необходимо с помощью динамики создавать новые таблицы на основе уже имеющихся. Возникла...

C# и создаваемые динамически объекты
Вообщем задали написать курсовую программу на языке C# Мало того что никто язык этот не знает в группе, так нас ему ещё не учат (говорят...

Динамически создаваемые объекты
Есть ли в современных стандартах языка возможность динамически, в процессе выполнения программы, создавать экземпляры объектов сложных...

Динамически создаваемые TabSheet и RichEdit
Всем доброго вечера. Очередной вопрос. В программе, по мере открытия текстовых файлов, динамически создаются вкладки TabSheet и в них...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru