Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
14-1106349615
Просто Джо
2005-01-22 02:20
2005.02.13
Выбор Web-Server а


9-1099437966
Stivi
2004-11-03 02:26
2005.02.13
экран


1-1107173185
Qweatre
2005-01-31 15:06
2005.02.13
hmemcpy


1-1106913757
Jay1982
2005-01-28 15:02
2005.02.13
Icon handle 2


1-1106730868
K@rt
2005-01-26 12:14
2005.02.13
Удаление из TFileStream




   Наверх