码迷,mamicode.com
首页 > 其他好文 > 详细

控件构造函数需要的是AOwner TComponent,而不是Parent

时间:2015-07-26 00:29:29      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:

普通控件都只有一个构造函数,但是这个构造函数却强迫指定AOwner,也就是说,VCL希望将所有控件(至少是所有可视化控件)全部置于它的管理之下。至于到底显示不显示,那是另一个层次的问题。这个问题其实挺简单,但我就是希望强化一下这个概念。简单观察一下TLabel的构造函数就可以明白这一点:

constructor TCustomLabel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ControlStyle := ControlStyle + [csReplicatable];
  Width := 65;
  Height := 17;
  FAutoSize := True;
  FShowAccelChar := True;
  { The "default" value for the Transparent property depends on
    if you have Themes available and enabled or not. If you have
    ever explicitly set it, that will override the default value. }
  if ThemeServices.ThemesEnabled then
    ControlStyle := ControlStyle - [csOpaque]
  else
    ControlStyle := ControlStyle + [csOpaque];
end;

 

控件构造函数需要的是AOwner TComponent,而不是Parent

标签:

原文地址:http://www.cnblogs.com/findumars/p/4676851.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!