Главная страница
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.059 c
1-1106986978
m52
2005-01-29 11:22
2005.02.13
Проблема со скроллингом в ListView


1-1106900026
m52
2005-01-28 11:13
2005.02.13
Не выгружается приложение под XP


1-1107157336
Neznaika
2005-01-31 10:42
2005.02.13
Baltic_Charset


3-1105699018
Del
2005-01-14 13:36
2005.02.13
Соединение баз


1-1107184591
kivadim
2005-01-31 18:16
2005.02.13
как записать строку в св-во Objects компонента combobox?