a:array of tmenuitem;
我想在a[i]下做我想要的事情。

解决方案 »

  1.   

    a[i].onclick=你自己得事件就可以了 !
      

  2.   

    procedure myClick(Sender : TObject);
    procedure myClick(Sender : TObject);
    begin
      Showmessage('ok');
    end;a[i].onclick := myClick; //就可以了!//这年头问这个问题的真多啊!:)
      

  3.   

    a[i].OnClick:=Pro_Click; //菜单的click 事件procedure Pro_Click;
    begin
      ShowMessage('鼠标点击事件');
    end;////////////////////////////////////////////////////
    附动态菜单创建的问题
    http://expert.csdn.net/Expert/topic/1669/1669316.xml?temp=.2757379
      

  4.   

    我想在click中加入一个i这个变量
      

  5.   

    function TMainForm.DelWindowMenu(pCaption:string): string;
    var
      lNewItem: TMenuItem;
    begin
      lNewItem:=Window.Find(pCaption);
      if lNewItem <> nil then
        Window.Remove(lNewItem);
    end;
      

  6.   

    你可以自己写一个函数,比如text(),然后再onclick:=text;
      

  7.   

    实际一个函数的函数名就是一个指向函数的指针,你可以把一个自定义函数名复制给一个event handle就可以了。
      

  8.   

    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;