Как программно добавить пункт в контекстное меню

Добавление пунктов меню во время выполнения
Поместите компонент 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;
Комментарии