Текущий архив: 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.032 c