怎样动态生成n个TImage(100分)

  • 主题发起人 主题发起人 悲情城市
  • 开始时间 开始时间

悲情城市

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个程序,库表里有n个点的坐标,我需要读库表,根据坐标在地图上标出这些点的位置,这些点用一个小图片(10x10)表示,并且当地图放大或者缩小时,这些做标点的小图片也放大缩小。

我现在读库表的点坐标这些都弄好了,地图的放大缩小也好了,但是怎么样才能布点呢,delphi里又没有元件数组。

谁能帮我???:(
如果你有更好的方法那就最好了
 
不会这么简单吧?
 
建议改用TShape会更好。
 
你定义一个TImage变量数组不就得了
 
欢迎光临『风之纹章』http://ph11.126.com
14.在程序中动态生成控件数组[2001-04-09]
var
a : array of TImage;
i : integer;
begin
SetLength(a,100); //这里的100可以用变量来代替,想要多少个都行
for i := 0 to Length(a) - 1 do
Begin
a := Image.Create(Self);
with a do
begin
Parent := Form1;
Left := 0;
Height := 20;
Width := 108;
Top := i * 20;
hint := 'a'+IntToStr(i);
OnClick := Imageclick; //点击事件
End;


procedure TForm1.ImageClick(Sender: TObject);
begin
ShowMessage((Sender as TImage).Hint);
end;

 
 
To JohnsonGuo : 用Tshape的话不方便在地图放大缩小时相应的放大缩小点图
原来可以定义TImage变量数组,多谢wind2000, 卷起千堆雪tyn的虽然也对,不过如果我
没看到wind2000的答案是不太明白这对我的帮助的,ReStart你太偷懒了 :-)

我试一下,回头再过来
 
>>用Tshape的话不方便在地图放大缩小时相应的放大缩小点图
怎么不可以呢,直接设置TShape的width和Height就可以啦.
要注意,我是指用TShape数组.
 
多人接受答案了。
 

Similar threads

后退
顶部