Как программно добавить пункт в контекстное меню
Добавление пунктов меню во время выполнения
Поместите компонент TPopupMenu на форму и задайте ему имя PopupMenu1. Далее запишите следующий код:
type TForm1 = class(TForm) PopupMenu1: TPopupMenu; N11: TMenuItem; N21: TMenuItem; N31: TMenuItem; N1: TMenuItem; btnAddItem: TButton; Button2: TButton; procedure btnAddItemClick(Sender: TObject); procedure PopupItemClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; i: integer = 1; implementation {$R *.dfm} procedure TForm1.btnAddItemClick(Sender: TObject); var menuItem : TMenuItem; begin menuItem := TMenuItem.Create(PopupMenu1) ; menuItem.Caption := 'Новый пункт меню ' + IntToStr(i); menuItem.OnClick := PopupItemClick; { Назначьте свойству Tag любое целое число по которому мы будем его идентифицировать } menuItem.Tag := i; PopupMenu1.Items.Add(menuItem) ; i:= i + 1; end;
Пример использования:
procedure TForm1.PopupItemClick(Sender: TObject); begin if (Sender as TMenuItem).Tag = 5 then ShowMessage('Hello! It''s menu item '); end;
Комментарии