我希望能够创建自己的简单组件并包含其他组件。它看起来像这样: TTag = class(TLayout) private _line: TLine; _label: TLabel; _background: TRoundRect; _button: TLabel; public constructor Create(AOwner: TComponent); override; end; 当我将此组件放置在表单上时,一切都正常,我的表单结构如下图所示: 但是,在 Delphi IDE 重新打开后,它看起来像这样: 如何添加子组件以避免这种奇怪的行为?
这是一个典型案例,使用SetSubComponent函数:调用SetSubComponent函数来指示此组件是否为子组件。子组件是其Owner为表单或数据模块以外的组件。除非该组件使用IsSubComponent设置为True调用SetSubComponent函数,否则其发布属性将不保存到表单文件中。对于每个子组件,在构造函数中调用 SetSubComponent(True)。