关于Create的一个简单问题? ( 积分: 50 )

  • 主题发起人 主题发起人 Apollo_BD
  • 开始时间 开始时间
A

Apollo_BD

Unregistered / Unconfirmed
GUEST, unregistred user!
我自定义了一个类是Tiamge和Tlabel的组合,我想把它放在不同的Form里,但问题Timage和Tlabel的parent指定的Form是不同的.如何实现!
Constructor TLabImage.Create;
begin
TmyImage:=Timage.Create(Self);
Tmylabel:=TLabel.Create(self);
Tmyimage.Parent:=?;
Tmylabel.Parent:=?;
{如何表示子类被何类调用如被Tform1调用时Tmyimage.Parent:=Form1;
被Tform2调用是则Tmyimage.Parent:=Form2;
}
Tmyimage.AutoSize:=True;
//
TmyImage.Left:=0;
TmyImage.Top:=0;
Tmylabel.Top:=TmyImage.Top+Tmyimage.Height;
Tmylabel.Left:=TmyImage.Left;
//
Tmylabel.Caption:='This is Label';
End;
 
我自定义了一个类是Tiamge和Tlabel的组合,我想把它放在不同的Form里,但问题Timage和Tlabel的parent指定的Form是不同的.如何实现!
Constructor TLabImage.Create;
begin
TmyImage:=Timage.Create(Self);
Tmylabel:=TLabel.Create(self);
Tmyimage.Parent:=?;
Tmylabel.Parent:=?;
{如何表示子类被何类调用如被Tform1调用时Tmyimage.Parent:=Form1;
被Tform2调用是则Tmyimage.Parent:=Form2;
}
Tmyimage.AutoSize:=True;
//
TmyImage.Left:=0;
TmyImage.Top:=0;
Tmylabel.Top:=TmyImage.Top+Tmyimage.Height;
Tmylabel.Left:=TmyImage.Left;
//
Tmylabel.Caption:='This is Label';
End;
 
感觉你这么写,怪怪的,
不过如果要指名Parent,可是加个参数,
Constructor TLabImage.Create(Parent : TObject);
 
Constructor TLabImage.Create[blue](AForm1,AForm2: TForm);[/blue]
begin
TmyImage:=Timage.Create(Self);
Tmylabel:=TLabel.Create(self);
[purple] Tmyimage.Parent:=AForm1;
Tmylabel.Parent:=AForm2;[/purple]
{如何表示子类被何类调用如被Tform1调用时Tmyimage.Parent:=Form1;
被Tform2调用是则Tmyimage.Parent:=Form2;
}
Tmyimage.AutoSize:=True;
//
TmyImage.Left:=0;
TmyImage.Top:=0;
Tmylabel.Top:=TmyImage.Top+Tmyimage.Height;
Tmylabel.Left:=TmyImage.Left;
//
Tmylabel.Caption:='This is Label';
End;

[red]调用的时候
xxx := TLabImage.Create(Form1,Form2);[/red]
 
后退
顶部