刚刚学会怎样动态生成控件,但是不知道怎样往这些动态生成控件里添加事件,有哪位给我举个例,如下:
     procedure TForm1.FormCreate(Sender: TObject);
     var
       a:tbutton;
     begin
       a:=tbutton.Create(self);
       with a do 
       begin
         Top:=100;
         Left:=100;
         Height:=20;
         Width:=100;
         Parent:=form1;
         OnClick:=//.....该怎样写了?或者应该用别的方法
       end;
     end;

解决方案 »

  1.   

    procedure TForm1.ButtonClick(Sender: TObject);
    begin
      ShowMessage('AA');
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Button1.OnClick := ButtonClick;
    end;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  2.   

    procedure TForm1.YourClick(Sender: TObject);
    begin
      ShowMessage('OK');
    end;procedure TForm1.FormCreate(Sender: TObject);
         var
           a:tbutton;
         begin
           a:=tbutton.Create(self);
           with a do 
           begin
             Top:=100;
             Left:=100;
             Height:=20;
             Width:=100;
             Parent:=form1;
             OnClick:=YourClick;
           end;
         end;
      

  3.   

    在你的Form中写一个自己的函数,
    在你动态生成的控件的OnClick事件指向他就可以调用了
      

  4.   

    同意楼上两位,注意不能在OnClick:=YourClick;中的YourClick后加入其参数。
      

  5.   

    interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        procedure myClick(Sender:TObject);
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
        a:TButton;
    begin
         a:=TButton.Create(nil);
         a.top:=button1.Top;
         a.left:=button1.Left+100;
         a.width:=200;
         a.Caption:='this is my fisrst';
         a.Visible:=true;
         a.Parent :=form1;
         a.onClick :=myClick;
    end;
    procedure TForm1.myClick(sender:TObject) ;
    begin
        showMessage('hellow');
    end;
    end.