我在scrollbox中动态的生成一个按钮,现在想编写该按钮的单击事件,不知如何实现?

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        ScrollBox1: TScrollBox;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);  private
        Button2:TButton;    procedure Button2Click(Sender: TObject);
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if Button2<>nil then exit;  Button2:=TButton.Create(Self);
      Button2.Left:=2;
      Button2.Top:=2;
      Button2.Caption:='Hello';
      Button2.OnClick:=Button2Click;
      Button2.Parent:=ScrollBox1;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      ShowMessage('Button2');
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Button2:=nil;
    end;end.
      

  2.   

    补充
    释放资源procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      FreeAndNil(Button2);
    end;