Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

Добавление и удаление эл-ов PopurMenu в run-time   Найти похожие ветки 

 
Lucifer ©   (2005-01-30 22:03) [0]

люди помогите: надо добавить эл-т в попурменю в рантайме.
Но надо сделать так чтобы некая процедура, в зависимости от того на кокой из добавленых эл-тов пользователь нажал (можно определять действие по имени эл-та), выполнялись соответствующие действия?  Заранее благодарен за любую информацию!


 
eLVik ©   (2005-01-31 01:52) [1]

Можно провернуть такой вариант.


 TForm1 = class(TForm)
   PopupMenu1: TPopupMenu;;
   ActionList1: TActionList;
   Action1: TAction;
...
   procedure Action1Execute(Sender: TObject);
 private
   procedure AddItemToPopup(aCaption, aActionName: String);
...
 end;

...
procedure TForm1.Action1Execute(Sender: TObject);
begin
 // обработчик для Action1
 ShowMessage("Действие №1 выполнено");
 // что-то там ещё
end;

procedure TForm1.AddItemToPopup(aCaption, aActionName: String);
var
 M: TMenuItem;
 i: Integer;
begin
 M := TMenuItem.Create(self);
 for i := 0 to ActionList1.ActionCount - 1 do
   if ActionList1.Actions[i].Name = aActionName then begin
     M.Action := ActionList1.Actions[i];
     Break;
 end;
 M.Caption := aCaption;
 PopupMenu1.Items.Add(M);
end;


чтобы динамически добавить пункт в меню, выполняющий Action1, вызываешь
AddItemToPopup("Выполнить действие №1", "Action1");



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.025 c
9-1090416140
Landgraph
2004-07-21 17:22
2005.02.13
Уменьшение длины...


4-1104010523
Script
2004-12-26 00:35
2005.02.13
Как найти путь к нужной директории?


1-1106946603
Ancot
2005-01-29 00:10
2005.02.13
Наложение цвета по AND


3-1105612348
Pavelkq
2005-01-13 13:32
2005.02.13
Что выбрать и что изучить(почитать)?


14-1106328540
VictorT
2005-01-21 20:29
2005.02.13
Раскажите плиз, о формате RSS, как реализуется (желательно PHP)