创建的控建数组能对它的click事件,或别的事件编代码吗?怎么操作?最好给个例子。谢谢了。

解决方案 »

  1.   

    当然可以!
    如:
    clssEdtMy:=TEdit.Create(application) ;...
    clssEdtMy.OnClick:=myClick ;{事件函数}...protected ....myClick(sender:Object;...);
    begin
      .....{你的事件处理}
    end ;
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
        procedure MyClick(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      a:array[1..100] of TButton;implementation{$R *.dfm}
    procedure TForm1.MyClick(Sender: TObject);
    var
    i:integer;
    nam:string;
    begin
      i:=strtoint(Trim(Copy(TButton(Sender).Name,7,3)));
      TButton(Sender).Visible:=not TButton(Sender).Visible;
      i:=i+1;
      nam:='button'+inttostr(i);
      TButton(FindComponent(nam)).Visible:=not TButton(FindComponent(nam)).Visible
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
      i:integer;
    begin
      for i:=1 to 100 do
        begin
          a[i]:=tbutton.Create(self);
          with a[i] do
          begin
            Top:=(i-1) div 10*20;
            Left:=(i-1) mod 10*20;
            Height:=20;
            Width:=20;
            Name:='button'+inttostr(i);
            Caption:='';
            Parent:=Form1;
            OnClick:=MyClick;
          end;
        end;
    end;end.
      

  3.   

    新建一个Project,把上面的代码Copy一下就可以看到效果,具体怎样实现楼主自己去看!
      

  4.   

    加一个步骤:在属性框中将Form1的OnCreate事件设为FormCreate(下拉选择)
      

  5.   

    可以通过设置一组相应控件的TAG属性来实现这一功能。首先在窗体中放置3个BUTTON控件,然后分别设置这三个控件的TAG属性为1、2、3。接下来双击任意一个按钮,在其代码部分输入如下代码:
    procedureTForm1.Button1Click(Sender:TObject);
    varcap:string;
    begin
    caseTButton(sender).Tagof
    1:ShowMessage(′1stButtonPressed′);
    2:ShowMessage(′2ndButtonPressed′);
    3:ShowMessage(′3rdButtonPressed′);
    end;
    end;
    最后在其他两个按钮的ONCLICK事件中选择已经编好的代码。这样一来就可以实现以上功能了。