Форум: "Начинающим";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];
ВнизДинамическое формирование главного меню Найти похожие ветки
← →
Kostafey © (2007-01-28 19:52) [0]У меня на форме целая куча кнопок.
В ходе доработки программы меняется их количество, функциональное назначение.
Пункты главного меню должны выполнять те же функции.
Синхронизация кнопок и гл. меню начинает уже утомлять.
Вопрос: Как динамически создвавать главное меню так чтобы его вкладки имели те же Сaption, что и у кнопок,
а OnClick ссылался бы на OnClick кнопок ?
← →
Джо © (2007-01-28 19:54) [1]TActionList.
← →
Kostafey © (2007-01-28 20:04) [2]> TActionList
Ух ты! Я даже не знал про такой.
Ну хорошо, я записываю все действия в него, затем делаю на соответствующие его элементы ссылки у кнопок и у элементов главного меню.
Но при изменении количества элементов ActionList мне все равно придется кнопки и пункты меню вручную добавлять ?
Ну что ж все же лучше чем то, чем я до этого занимался. Спасибо !
← →
Джо © (2007-01-28 20:08) [3]> [2] Kostafey © (28.01.07 20:04)
> Но при изменении количества элементов ActionList мне все
> равно придется кнопки и пункты меню вручную добавлять ?
Есть еще возможность. У элементов TAcionList"а есть свойство Visible. Можно манипулировать им, тогда автоматически будут появляться/исчезать связанные с ними пункты меню и кнопки.
Плюс еще у него есть событие OnUpdate, очень удобно условия видимости/невидимости определенных элементов задавать в нем.
← →
Kostafey © (2007-01-28 20:12) [4]> [3] Джо © (28.01.07 20:08)
Понял, спасибо.
О...черт, сколько теперь всего переделывать-то !
КЛАВИАТУРУ В ЗУБЫ КОД - ПОД СНОС !!!
← →
Kostafey © (2007-01-28 20:40) [5]А для чего предназначены Категории (Categiries) этого TActionList ?
← →
Джо © (2007-01-28 20:51) [6]Для удобства :) я, например, создаю категории, аналогичные пунктам главного меня.
← →
Kostafey © (2007-01-28 21:08) [7]> [6] Джо © (28.01.07 20:51)
Понял, сделал так же.
← →
Джо © (2007-01-29 00:02) [8]
> [6] Джо © (28.01.07 20:51)
> пунктам главного меня.
Я ненамеренно, честное слово! :)
← →
Германн © (2007-01-29 01:42) [9]
> Джо © (29.01.07 00:02) [8]
>
>
> > [6] Джо © (28.01.07 20:51)
> > пунктам главного меня.
>
> Я ненамеренно, честное слово! :)
>
Когда ты победил в конкурсе по форуму "Для Начинающих" ты тоже так говорил :)
← →
Lex_! © (2007-01-29 03:51) [10]Или я не так понял вопрос, или надо было что то такое ...
Меню соответственно кнопкам .. (TButton) при необходимости можно на что то переделать .. ну и нет разбиения на подменю .. это в принципе не трудно ..
> procedure TForm1.FormCreate(Sender: TObject);
> Var i:Integer;
> mn:TMenuItem;
> begin
> for i:=0 to Form1.ComponentCount-1 do
> If Form1.Components[i] is TButton then
> begin
> mn:=TMenuItem.Create(MainMenu1);
> mn.Caption:= TButton(FOrm1.Components[i]).Caption;
>
> mn.OnClick:= TButton(Form1.Components[i]).OnClick;
>
> MainMenu1.Items.Add(mn);
> end;
> end;
← →
Kostafey © (2007-01-29 20:32) [11]> [10] Lex_! © (29.01.07 03:51)
Да, я так с начала и хотел.
Потом понял, что можно и проще, и, наверное, ПРАВИЛЬНЕЕ.
А кстати как создавать вложенные меню ?
← →
Джо © (2007-01-30 03:36) [12]> [11] Kostafey © (29.01.07 20:32)
> А кстати как создавать вложенные меню ?
Дык, TMenuItem.Add.
← →
Lex_! © (2007-02-05 04:27) [13]
> Kostafey © (29.01.07 20:32) [11]
По другому это уже не динамическое формирование насколько я могу понять, а таки ручками ... а вопрос был про динамическое ...
Дело конечно ваше...
а субменю .. находишь меню пункт который должен быть подменю и добавляешь в него еще один пункт меню .. в итоге получается субменю ..
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.037 c