其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

Delphi中Owner和Parent的区别


发布日期:2021年06月02日
 
Delphi中Owner和Parent的区别

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属性是运行阶段的属性只能在运行阶段通过代码设置

上一篇:小技巧:用Delphi创建服务程序

下一篇:Delphi7.0常用函数速查手册