with TButton.Create(Self) do begin
  Parent := ...;
  Tag := N; //
  Name := 'Btn' + IntToStr(N); //
end;

解决方案 »

  1.   

    >with TButton.Create(Self) do begin
    >  Parent := ...;
    >  Tag := N; //
    >  Name := 'Btn' + IntToStr(N); //
    >  OnClick := Button1Click;
    >end; procedure Form1.Button1Click(Sender: TObjcet);
    begin
      ShowMessage(TButton(Sender).Name);
    end;
      

  2.   

    问题是button1click是动态create的,设计期间还没有Form1.Button1Click事件
      

  3.   

           var hEditBtn:TSpeedButton
           begin
             hEditBtn:=TSpeedButton.create(self);
             hEditBtn.parent:=hTab;
             hEditBtn.Glyph := SpeedButton1.Glyph;
             hEditBtn.Caption:='';
             hEditBtn.Font.Name:='宋体';
             hEditBtn.Font.size:=9;
             hEditBtn.left:=x4;
             hEditBtn.top:=CheckTop;
             hEditBtn.width:=23;
             hEditBtn.height:=22;
             hEditBtn.Action:=ActionList1.Actions[0];
             hEditBtn.OnClick:=Action1Execute;
      

  4.   

    hEditBtn.Tag := 1;procedure TForm1.Action1Execute(Sender: TObject);
    begin
      ShowMessage(IntToStr(TSpeedButton(Sender).Tag));
    end;
      

  5.   

    不行啊,捕捉到的sender是Action1,而不是我想要的button,555~~