关于Components属性的问题?
根据Components属性的描述,他是只判断owner为form的控件个数。
那么form1.Components有意义,就是看form上有几个控件。
而panel1.Components有意义么?如果没意义那么这句话怎么会符合语法呢? 如果我在panel上有一个button,那么button的parent是panel,而owner仍然是form。 怎么放控件,才能使他的owner是panel1。
如果我有form1,其中包括panel1。我现在创建frame1,其parent是panel1,
那么frame1的owner是否是form1呢?
根据Components属性的描述,他是只判断owner为form的控件个数。
那么form1.Components有意义,就是看form上有几个控件。
而panel1.Components有意义么?如果没意义那么这句话怎么会符合语法呢? 如果我在panel上有一个button,那么button的parent是panel,而owner仍然是form。 怎么放控件,才能使他的owner是panel1。
如果我有form1,其中包括panel1。我现在创建frame1,其parent是panel1,
那么frame1的owner是否是form1呢?
b: TButton;
begin
b.Create(Panel);
b.Parent := Panel;
end;如上,button的parent和owner就都是panel
那么这个时候panel1.Components就包含有b了,所以你的第一个问题就有答案了
frame没研究,现在暂时懒得去研究,就不说了,你自己看看VCL源代码吧
扩展看一下,下面的代码!
在Button1Click中。
var
ClassRef:TClass;
begin
ListBox1.Clear;
//ClassRef ;= sender.ClassType;//看这句和下面这句
ClassRef := Panel1.Classtype;
while classref <>nil do
begin
ListBox1.Items.Add(ClassRef.Classname);
ClassRef := ClassRef.ClassParent;
end;
end;