我在 delphi的窗体中"编程新建"了多个按钮,我想在运行时获取所点击按钮的CAPTION,请问如何做,谢谢.注:我在点击按钮时写进:self.Components[self.Componentindex].Name,结果得到的self.Componentindex都为0

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        FBtnList:array[0..3] of TButton;
        procedure ButtonClick(Sender: TObject);
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.ButtonClick(Sender: TObject);
    begin
      showmessage(TButton(Sender).Caption);
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
      i:Integer;
    begin
      for i:=0 to 3 do
      begin
        FBtnList[I]:= TButton.Create(Owner);
        FBtnList[I].Parent:=self;
        FBtnList[I].Caption:='btn'+IntTostr(i);
        FBtnList[I].OnClick:=ButtonClick;
        FBtnList[I].Top:=100*i;
      end;
    end;end.
      

  2.   

    在Button的单击事件中就可以得到呀
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage(TButton(Sender).Caption);
    end;
      

  3.   

    TButton(Sender).Caption //标题.
    TButton(Sender).Name  //名称Sender时面存储了当前对象的所有信息.
    TButton(Sender)在面向对向上叫做后期绑定,这样就可以满足你的要求.