··关于动态生成的image的问题.希望各星星三角帮忙!
动态生成了一组image.
如:mm[y]:=timage.create(self).再在panel上显示为两幅1,2。
请问,我怎样才能对点击1,就对1操作,点击2,就对2操作。
问题点数:50、回复次数:8Top
1 楼ehom(?!)回复于 2002-12-04 14:10:11 得分 25
定义一个过程:procedure MyClick(Sender: TObject)
动态生成时:
mm[y].OnClick:=myclick;
如:
procedure MyClick(Sender: TObject);
begin
(Sender as TImage).Picture.LoadFromFile(FileName);
end;
Top
2 楼mikko11()回复于 2002-12-04 14:13:30 得分 0
如果我对image有好几个操作呢?
就如,画线,反色这类的。Top
3 楼godepth(动力之源)回复于 2002-12-04 14:14:21 得分 20
procedure TForm1.Button1Click(Sender: TObject);
var
mm : Array[0..2] of TImage;
iCount : Integer;
begin
For iCount := 1 downto 0 do
begin
mm[iCount]:=timage.create(self);
mm[iCount].Parent := panel1;
mm[iCount].Align := alLeft;
mm[iCount].Width := 120;
mm[iCount].Name := 'Image'+IntToStr(iCount);
mm[iCount].OnClick := ImageClick;
end;
end;
procedure TForm1.ImageClick(Sender: TObject);
begin
if TImage(Sender).Name = 'Image0' then showmessage('Image0 Click')
else if TImage(Sender).Name = 'Image1' then showmessage('Image1 Click')
else exit;
end;
在interface中的useszhon中
加入ExtCtrlsTop
4 楼ehom(?!)回复于 2002-12-04 14:21:50 得分 0
自己举一反三咯
(Sender as TImage).Picture.Bitmap.CanvasTop
5 楼mikko11()回复于 2002-12-04 14:34:06 得分 0
我是想问 ,把这些mousedown,mouseup都写到一个myclick中吗?
Top
6 楼hnxrm(浪子)回复于 2002-12-04 14:46:35 得分 5
再定义mousedown,和mouseup事件啊.
mm[y].OnClick:=myclick;
mm[y].OnMousedown:=mymousedown;
mm[y].OnMouseup:=mymouseup;
Top
7 楼mikko11()回复于 2002-12-04 14:50:33 得分 0
to hnxrm(浪子) ( )
这个办法有点行不通。
因为我有时会用到好几个mousedown,如mm[y].OnMousedown:=mymousedown;
, mm[y].OnMousedown:=kkmousedown;
Top
8 楼ehom(?!)回复于 2002-12-04 14:52:58 得分 0
好几个?那区别不同Image的条件是...?
自己做个条件判断咯!Top




