procedure TForm1.Button1Click(Sender: TObject);
begin
      //sender 就是发消息那个控件了,例如
      (sender as TImage).picture.loadfromfile('c:\aaa.bmp');end;

解决方案 »

  1.   

    把他们的onclick事件都指到同一个处理上:
    然后在这个处理里:procedure TForm1.Button1Click(Sender: TObject);
    begin
          //sender 就是发消息那个控件了,例如
          (sender as TImage).picture.loadfromfile('c:\aaa.bmp');end;
      

  2.   

    其实delphi这样比 vb的控件数组更简单当然,delphi也有控件数组不过也差不多这样用
      

  3.   

    假设你的ICOs放在多个TImage中,Index索引可以存放于TImage.Tag中.
    在OnClick中可以实现:procedure TForm1.Image1Click(Sender: TObject);
    begin
      Edit1.Text := IntToStr(TImage(Sender).Tag);end;
      

  4.   

    上上下下,你说得我左右不是,
    我以前是用VB 和C++Bulider的,看不明白。劳驾你老人家
    多来几句代码。就写个小东东给我, [email protected]因为我大多时候很。大民兄,有道理,哈哈哈,曲线救国。可要命的是我以前在VB里这一切都是动态生成可用户定义的,现在总不好退步吧!
      

  5.   

    delphi可以自己定义控件数组,先定义一个该类的数组,再给数组元素赋初值
    按钮数组:array[1..10] of tbutton
      

  6.   

    To:投入者:这样的用法 如何编写该数组的onclick()???index 参数如何得到?谢了
      

  7.   

    一个例子:unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DBXpress, StdCtrls, Mask, ExtCtrls, DB, SqlExpr;type
      TForm1 = class(TForm)
        SQLConnection1: TSQLConnection;
        Edit1: TEdit;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        procedure ImageClick(Sender: TObject);
      public
        { Public declarations }
      end;
    const
        ImageCount = 10;
        ImageWidth = 40;
        ImageHeight = 40;
    var
      Form1: TForm1;
      Images: array[1..ImageCount] of TImage;implementation{$R *.dfm}procedure TForm1.ImageClick(Sender: TObject);
    begin
      Edit1.Text := IntToStr(TImage(Sender).Tag);end;procedure TForm1.FormCreate(Sender: TObject);
    var I: Integer;
    begin
      for I := 1 to ImageCount do
      begin
        Images[I] := TImage.Create(Self);
        with Images[I] do
        begin
          Picture.LoadFromFile('C:\temp\MAPIF4L.ICO');
          Left := (I-1)*(ImageWidth+1);
          Top := 10;
          Stretch := TRUE;
          Width := ImageWidth;
          Height := ImageHeight;
          OnClick := ImageClick;
          Parent := Self;
          Tag := I;
        end;
      end;end;end.
      

  8.   

    大佬:Delphi中没问题了,C++Bulid中如何实现?
    到C++bulid中回答,谢了http://www.csdn.net/expert/topic/664/664439.xml?temp=.7957422怎样写Onclick()?
        int i;
        for(i=0;i<10;i++)
        {
            Image1[i]= new TImage(this);
            Image1[i]->Parent = Form1;
            Image1[i]->Picture->LoadFromFile("c:\\aa.bmp");
            Image1[i]->Top = i*20;
            Image1[i]->Tag = i;
            ImageClick :TImage->Image2->OnClick();//这句话表达的意识
    //该如何写?
        }