procedure TForm1.PopupMenuItemsClick(Sender: TObject); begin with Sender as TMenuItem do begin case Tag of 0: ShowMessage('first item clicked'); 1: ShowMessage('second item clicked'); 2: ShowMessage('third item clicked'); 3: ShowMessage('fourth item clicked'); end; end; end;procedure TForm1.AddButtonClick(Sender: TObject); var index: Integer; NewItem: TMenuItem; begin for index := 0 to 3 do begin NewItem := TMenuItem.Create(PopupMenu1); // create the new item PopupMenu1.Items.Add(NewItem);// add it to the Popupmenu NewItem.Caption := 'Menu Item ' + IntToStr(index); NewItem.Tag := index; NewItem.OnClick = PopupMenuItemsClick;// assign it an event handler end;end;
来晚了 private procedure mymenuitemclick(Sender:TObject);procedure TForm1.mymenuitemclick(sender:TObject); begin //这里添加你的程序 showmessage('mymenuitemclicked'); end;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure aaac(sender : Tobject);
procedure bbbc(sender : Tobject);
end;var
Form1: TForm1;implementation{$R *.dfm}procedure Tform1.aaac(sender : Tobject);
begin
showmessage('aaaa');;
end;
procedure Tform1.bbbc(sender : Tobject);
begin
showmessage('bbbb');;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
menu:TMainMenu;
N1,n2:TMenuItem;
begin
menu:=TMainMenu.Create(self);
N1:=TMenuItem.Create(self);
N2:=TMenuItem.Create(self);
N1.Caption:='aaaa';
n1.OnClick:=aaac;
N2.Caption:='cccc';
n2.OnClick:=bbbc;
menu.Items.Add(N1);
menu.Items.Add(N2);
//menu.Items.OnClick :=Aonclick(9);
end;
end.
如上定义你自己的OnClick事件,然后将其赋给菜单项的OnClick事件,如下:
N1.OnClick = YourOnClick;
N2.OnClick = YourOnClick;
begin
with Sender as TMenuItem do
begin
case Tag of
0: ShowMessage('first item clicked');
1: ShowMessage('second item clicked');
2: ShowMessage('third item clicked');
3: ShowMessage('fourth item clicked');
end;
end;
end;procedure TForm1.AddButtonClick(Sender: TObject);
var
index: Integer;
NewItem: TMenuItem;
begin
for index := 0 to 3 do
begin
NewItem := TMenuItem.Create(PopupMenu1); // create the new item
PopupMenu1.Items.Add(NewItem);// add it to the Popupmenu
NewItem.Caption := 'Menu Item ' + IntToStr(index);
NewItem.Tag := index;
NewItem.OnClick = PopupMenuItemsClick;// assign it an event handler
end;end;
private
procedure mymenuitemclick(Sender:TObject);procedure TForm1.mymenuitemclick(sender:TObject);
begin
//这里添加你的程序
showmessage('mymenuitemclicked');
end;