我的程序里面有一个  Image: array of TImage;
动态创建了好多个Image,简单点说我想双击这些Image 的时候显示出该Image 的索引怎么实现?
有类似于 procedure TForm4.Image[]DblClick(Sender: TObject); 这样的形式的函数吗?

解决方案 »

  1.   

    偶是菜鸟,如果做界面的时候就把Image摆进去的话可以很方便的设置这些属性跟响应函数,如果是后来再动态创建出来的,就不知道怎么弄的~~~`  :(
      

  2.   

    在创建IMAGE的时候给其dblClick事件赋值
      

  3.   

    比方创建的时候
         Image[count]:= Timage.Create(Self);
         Image[count].Picture.LoadFromFile(OpenDialog1.FileName);
         Image[count].Parent:= PaintBox1.Parent;
         Image[count].Left:= Map_X1;
         Image[count].Top:= Map_Y1;
         Image[Rec_count-1].OnDblClick:=???上面应该写什么 ?我的愿望是双击哪一个Image就ShowMessage(IntToStr(count));
      

  4.   

    声明定义一个函数,参数跟Image的OnDblClick一致
    procdure OnImageDblClick(Sender:TObject);
    begin
      ShowMessage(IntToStr(count)); 
    end;然后
      Image[count]:= Timage.Create(Self);
         Image[count].Picture.LoadFromFile(OpenDialog1.FileName);
         Image[count].Parent:= PaintBox1.Parent;
         Image[count].Left:= Map_X1;
         Image[count].Top:= Map_Y1;
         Image[Rec_count-1].OnDblClick:=OnImageDblClick; //刚才定义的函数
      

  5.   

    控件的响应明白了,不过突然发现个很笨的问题,我的count应该记录怎么哪里?
    我想双击Image[1],显示 1。双击Image[2],显示 2 。
      

  6.   

    Image[count].Tag := count;....
    ...DblClick(Sender: TObject);
    begin
      ShowMessage(IntToStr(TImage(Sender).Tag));
    end;
      

  7.   

    我也是菜鸟,弱弱地问一句:
     Image[Rec_count-1].OnDblClick:=OnImageDblClick; //刚才定义的函数
    程序会报错啊,错误如下:
    [Error] Unit1.pas(47): Incompatible types: 'method pointer and regular procedure
    该如何解决啊?
      

  8.   

    明白了,谢谢,Rec_count-1 改诚count就可以了,