如果我将父控件传递给 Create 而不是分配 Parent 属性,为什么我的新控件不显示?



在拉撒路中,我正在尝试这个:

TabSaveButton := TButton.Create(nil);
with TabSaveButton do
  begin
    Parent:=NewTab;
    Width:=75;
    Height:= 25;
    Top:=530;
    Left:=715;
    Caption:='Save';
  end;

它有效。也就是说,我得到按钮,它是可点击的,它是动态创建的标签页的子项。

但以下内容显示按钮,也不显示错误:

TabSaveButton := TButton.Create(NewTab);
with TabSaveButton do
  begin
    Width:=75;
    Height:= 25;
    Top:=530;
    Left:=715;
    Caption:='Save';
  end;
  1. 为什么第二种方法不起作用?

  2. 这对拉撒路和德尔斐都有同样的效果吗?

Create 的参数设置控件的所有者。所有者是负责释放相关组件的组件。例如,如果释放一个组件,则它拥有的所有组件也会被释放。父母是完全不同的东西。它是承载相关控件的窗口(控件)。

德尔斐和拉撒路在这里没有区别。

相关内容

  • 没有找到相关文章

最新更新