Parent属性是指构件的包容器构件只能在此范围内显示和移动举例子如下
()在Form的窗体上放一个Panel并将Panel拉大
()在Panel上放一Button
()在Form上放一Button
现在如果移动Panel则Button随着Panel移动这是因为Button的Parent是Panel现在将Button移到Panel上再次移动PanelButton并不跟着移动这是因为Button的Parent是Form除在窗体设计中应注意构件的Parent是谁外在动态创建构件时也应指出构件的Parent如在上例中继续操作
)Procedure TformButtonclick(SenderTobjet)
)Var
) ButtonTbutton
) Begin
) ButtonTbuttoncerate(self)
) Buttonparent=panel
) Buttonlleft=
) Buttontop=
) Buttoncaption=OK
) End
当按Button时将在Panel上创建一个Button而如果把第句改为Buttonparent=self按Button时将在Form上创建一个Button了如果将第句删除按Button时什么都不会发生这是因为创建方法无法知道应在哪里显示构件
Owner属性是指构件的所有者它负责构件的创建和释放如在上例中系统默认窗体上所有构件的所有者是窗体而窗体的所有者是Application顺便指出create方法应带有表示构件所有者的参数如在上例中构件所有者是窗体即self
Parent属性和Owner属性是运行阶段的属性只能在运行阶段通过代码设置