多个相同控件,如何判断选中的是哪个???(100分)

  • 主题发起人 主题发起人 兰凌
  • 开始时间 开始时间

兰凌

Unregistered / Unconfirmed
GUEST, unregistred user!
我在窗体上放了多个shape,每个名称分别为shape1,shape2,……类推。
现在我要对shape操作,但是我的根据是i,如参数为1,则对shape1操作,2,则对shape2操作,请问要怎么做?我不想用循环if i=1 then shape1……
有没有其他的方法?
 
用Shape的Tag属性,或者直接截取Name中的数字来处理!
 
用shape:array[0..10] of tshape;数组,一开始先付值
shape[0]:=shape1;
shape[1]:=shape2;
用的时候
for i:=0 to 9 do
begin
shape。。。。。;
end;
 
我用的是sbzldlb的方法。谢谢了
 
shape 动态创建,创建时给tag赋值;
var
shape:array of TShape;
i,j:integer;
begin
Shape[j]:=TShape.create(nil);
Shape[j].tag:=i;
......
end;
对不同的shape进行操作时:
var i:integer;
begin
i:=(Sender as TShape).Tag;
......
end;
 
后退
顶部