如何将一个继承自TObject的类的TImage成员显示在窗体上?(50分)

  • 主题发起人 主题发起人 coolqiang
  • 开始时间 开始时间
C

coolqiang

Unregistered / Unconfirmed
GUEST, unregistred user!
现有一个类TA,包括一个TImage成员Img,需要将Img显示在窗体Form1上。

如果TA继承自TWinControl,实现没什么问题,在From1的Create事件中生成TA,并设置TA的Parent为Self(即Form1),在TA的Create事件中生成Img,设置其Parent为Self(即TA)。

但我现在的问题是,如果TA继承自TObject(系统默认),没有Parent属性,可以使Img显示在窗体Form1上吗?

问题比较奇怪,请各位大富翁指教,谢谢!
 
沒有試過,應該可以的,你試試就知道了。問問題之前,能自己實現的,就自己實現好點,那樣對你自己記憶有好處。
 
如果 TA 继承自 TObject,那么要改写构造函数才能满足你的要求
type
TA = class(TObject)
FImg: TImage;
constructor Create(Owner: TWinControl);
end;

constructor TA.Create(Owner: TWinControl);
begin
FImg := TImage.Create(Owner);
FImg.Parent := Owner;
end;

调用的时候
with TA.Create(Self) do
FImg.Picture.LoadFromFile('c:/windows/Coffee Bean.bmp');

还要记得在 destructor 中释放 FImg。
 
谢谢!送分了!
 

Similar threads

后退
顶部