a[i].OnClick:=Pro_Click; //菜单的click 事件procedure Pro_Click; begin ShowMessage('鼠标点击事件'); end;//////////////////////////////////////////////////// 附动态菜单创建的问题 http://expert.csdn.net/Expert/topic/1669/1669316.xml?temp=.2757379
我想在click中加入一个i这个变量
function TMainForm.DelWindowMenu(pCaption:string): string; var lNewItem: TMenuItem; begin lNewItem:=Window.Find(pCaption); if lNewItem <> nil then Window.Remove(lNewItem); end;
procedure TForm1.FormCreate(Sender: TObject); Type ArrayMenuItem = Array of TMenuItem; var MenuItem:TMenuItem; AMenuItem,SubMenuItem:ArrayMenuItem; i,j:integer; begin setlength(AMenuItem,5); setlength(SubMenuItem,2); for j:=0 to 5-1 do begin AMenuItem[j]:=TMenuItem.create(self); AMenuItem[j].Name:='muuuuuuuuuu'+inttostr(j); AMenuItem[j].Caption :='nhhhhhhh'+inttostr(j); end; SubMenuItem[0]:=TMenuItem.create(self); SubMenuItem[0].Name:='asjsdjs'; SubMenuItem[0].caption:='222222222'; SubMenuItem[1]:=TMenuItem.create(self); SubMenuItem[1].Name:='asj21sdjs'; SubMenuItem[1].caption:='3333333'; MainMenu1.Items.add(AMenuItem); MainMenu1.Tag:=0; MainMenu1.Items[4].Add(SubMenuItem); end;
procedure myClick(Sender : TObject);
begin
Showmessage('ok');
end;a[i].onclick := myClick; //就可以了!//这年头问这个问题的真多啊!:)
begin
ShowMessage('鼠标点击事件');
end;////////////////////////////////////////////////////
附动态菜单创建的问题
http://expert.csdn.net/Expert/topic/1669/1669316.xml?temp=.2757379
var
lNewItem: TMenuItem;
begin
lNewItem:=Window.Find(pCaption);
if lNewItem <> nil then
Window.Remove(lNewItem);
end;
Type ArrayMenuItem = Array of TMenuItem;
var MenuItem:TMenuItem;
AMenuItem,SubMenuItem:ArrayMenuItem;
i,j:integer;
begin
setlength(AMenuItem,5);
setlength(SubMenuItem,2);
for j:=0 to 5-1 do begin
AMenuItem[j]:=TMenuItem.create(self);
AMenuItem[j].Name:='muuuuuuuuuu'+inttostr(j);
AMenuItem[j].Caption :='nhhhhhhh'+inttostr(j);
end;
SubMenuItem[0]:=TMenuItem.create(self);
SubMenuItem[0].Name:='asjsdjs';
SubMenuItem[0].caption:='222222222'; SubMenuItem[1]:=TMenuItem.create(self);
SubMenuItem[1].Name:='asj21sdjs';
SubMenuItem[1].caption:='3333333';
MainMenu1.Items.add(AMenuItem);
MainMenu1.Tag:=0;
MainMenu1.Items[4].Add(SubMenuItem);
end;