我有个程序有特殊要求,类似软件盘.
我再panel上放了很多个button按钮,在点击每个button按钮时都是将button的caption值付给控件memo1,因为每个button都是基本相同的过程,所以想能不能在窗体创建时,直接将各控件的事件用简单的方法设置出来.
请帮帮忙.
只剩40分,全部奉上.新手

解决方案 »

  1.   

    type
      TForm1 = class(TForm)
        Memo1: TMemo;
        Panel1: TPanel;
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        Button4: TButton;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        procedure ClickProc(Sender : TObject);//类方法
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.ClickProc(Sender : TObject);
    begin
      Memo1.Lines.Add(TButton(Sender).Caption);
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
      I : integer;
    begin
      for I := Panel1.ControlCount-1 downto 0 do
        if Panel1.Controls[I] is TButton then
           TButton(Panel1.Controls[I]).OnClick := ClickProc;
    end;
      

  2.   

    顶楼上,纯属骗分
    procedure TForm1.ClickProc(Sender: TObject);
    begin
      Memo1.SelText := TButton(Sender).Caption;
    end;