Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление элементов в меню, во время выполнения 
:(
    Опции темы
Дрон
Дата 2.9.2003, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 93



Собственно, возможно ли это? И если да, то как?

Это сообщение отредактировал(а) Дрон - 2.9.2003, 22:54


--------------------
Да. Именно так.
PM   Вверх
Kurt
Дата 3.9.2003, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: нет
Всего: 36



Безусловно, можно!
Я, правда, не знаю есть ли специальные функции в VB, но средствами API можно!
Как?
Для начала получаешь ссылку на меню с помощью GetMenu(HWnd_Формы).
Потом производишь нужные тебе манипуляции:
AppendMenu - добавление нового пункта в конец существующего меню;
InsertMenu - вставка нового пункта в произвольное место;
ModifyMenu - изменение аттрибутов существующего меню;
DeleteMenu - удаление пункта меню;
А после всего этого ОБЯЗАТЕЛЬНО используешь:
DrawMenuBar - считай, что это типа принять изменения.
Я наизусть все параметры функций не помню, поэтому тебе советую скачать API-Guide c www.allapi.net - там все аргументы подробно описаны...

P.S. Пример нужен? (Просто сейчас нет времени...)


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
Дрон
Дата 3.9.2003, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 93



А как потом такое меню работать-то будет? sad.gif
В си было бы просто -- обрабатываешь WM_COMMAND и радуешься жизни.
А из бейсика-то как?


--------------------
Да. Именно так.
PM   Вверх
-Mikle-
Дата 5.9.2003, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 8
Всего: 59



Если подойдет такой вариант, то можешь попробовать массив пункта меню.
В MenuEditor, у нужного пункта меню, поставь Index=0. В программе "размножить" его можно так:
Код
Load myMenu(1)
....
Load myMenu(n)

Это средствами ВБ... В большинстве случаев програмное создание пунктов меню требуется когда заранее неизвестно кол-во пунктов, т.е. какой-нибудь список в виде меню. Поэтому в ВБ предусмотрен такой вариант...
-----------------------------------------------------------------------------------
Цитата
А как потом такое меню работать-то будет?
В си было бы просто -- обрабатываешь WM_COMMAND и радуешься жизни.
А из бейсика-то как?

Я не пробовал, нет времени сейчас, попробуй так:
Цитата
Dim WithEvents mnu as Menu 'Объяви в области General
private sub form_load()
....
'hMenu - хэндл меню
Set mnu = hMenu
....
end sub

private sub mnu_Click()
....
end sub
Вроде должно сработать, не знаю точно... Извени, за неконкретный ответ...


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Дрон
Дата 6.9.2003, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 93



Спасибо!
Цитата
Код
Load myMenu(1)
....
Load myMenu(n)

Всё прекрасно работает!



--------------------
Да. Именно так.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.