按照BCB帮助的解释,构造函数里面的 Owner 的作用:
控件分配内存和装入属性都依赖 Owner, 当 Owner (通常都是form) 装入属性或者分配、释放内存时,
控件也随着装入属性、分配、释放内存。
上面说的是可视化编程自动实现的,如果你自己动态定义控件,一般也需要用this作为Owner参数。
但是还要注意 Parent 属性,Parent 是把控件放在哪个“容器”里,
容器指 Form、Panel、GroupBox等可以容纳控件的控件。
如果你正在运行的程序中,给 Parent 属性重新赋值,会看到控件从一个容器跑进另一个容器里,
可以实现把控件从 Panel1 里面拿出,放进 Panel2 里。
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Edit1 = new TEdit(this);
PgsBar = new TProgressBar(this);
Edit1->Parent = this; //把控件放在form上,在这里this就是form
PgsBar->Parent = Panel1; //把控件放在Panel1里,让Panel1作为PgsBar的容器
}
//---------------------------------------------------------------------------
__fastcall TForm1::~TForm1()
{
delete PgsBar; //释放你自己定义的控件的内存
delete Edit1; //释放你自己定义的控件的内存
}
//---------------------------------------------------------------------------
--------------------next---------------------
阅读(1098) | 评论(0) | 转发(0) |