****大家来一下,如何传递动态创建的控件****** ( 积分: 100 )

  • 主题发起人 主题发起人 todayisthursday
  • 开始时间 开始时间
T

todayisthursday

Unregistered / Unconfirmed
GUEST, unregistred user!
问题是这样的:
我要动态创建几组(TTimer+TImage)
每组是由一个TTimer控件+TImage控件组成
程序如下:

var
newTimer : TTimer;
newImage: TImage;
sqlVar:string;
begin

newTimer := TTimer.Create(nil);
newTimer.OnTimer := ExOnTimer;
newTimer.Interval := 2000;
newTimer.Enabled := true;


newImage := TImage.Create(self);
newImage.Picture.LoadFromFile('c:/ship.jpg');
newImage.Parent:=Form1;
newImage.Left := 600;
newImage.Top := 352;
newImage.Visible:=true;
newImage.Name := 'imagetest';
end;

问题1.
如何在ExOnTimer过程中引用新建的newImage控件,如何传递名字,我要定时改变newImage控件的坐标;

问题2
可能要同时创建多组(TTimer+TImage),每次动态创建时,如何定义(TTimer+TImage)控件的名字!

多谢谢


谢谢
 
问题是这样的:
我要动态创建几组(TTimer+TImage)
每组是由一个TTimer控件+TImage控件组成
程序如下:

var
newTimer : TTimer;
newImage: TImage;
sqlVar:string;
begin

newTimer := TTimer.Create(nil);
newTimer.OnTimer := ExOnTimer;
newTimer.Interval := 2000;
newTimer.Enabled := true;


newImage := TImage.Create(self);
newImage.Picture.LoadFromFile('c:/ship.jpg');
newImage.Parent:=Form1;
newImage.Left := 600;
newImage.Top := 352;
newImage.Visible:=true;
newImage.Name := 'imagetest';
end;

问题1.
如何在ExOnTimer过程中引用新建的newImage控件,如何传递名字,我要定时改变newImage控件的坐标;

问题2
可能要同时创建多组(TTimer+TImage),每次动态创建时,如何定义(TTimer+TImage)控件的名字!

多谢谢


谢谢
 
在创建的时候根据一定的规律来命名,比如,image1,image2......
传递名字的时候,需要遍历,
if Components.name='image1' then
begin
(Components as timage).left:=;
(Components as timage).top:=;
end;
 
动态创建名字可能要以时间取了,所以具体名字可能事先不知道!
 
随便你怎么命名,但有一点最重要,就是你要能根据你的需要找到你的东西
可以利用他们的tag,hint之类的做写标记,根据这些来找也可以,
 
,如何定义(TTimer+TImage)控件的名字!
不需要声明名字(控件的名称,name)。即使有名字也没有用,你也不方便使用name 引用控件, 建议用 TobjectList 保存你的控件

参考:
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=3247725
 
可以参考
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3131848
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3098841
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3093473
 
互相矛盾, 既然是动态创建, 要名字干吗?

既然你已经预定控件有名字, 那干脆给 name赋值就行了,

基本上动态创建的 有 动态数组保存, 或者用 TobjectList, TList 等等保存对象的实例
 
后退
顶部