相关疑难解决方法(0)

Delphi - 使用户无需继承现有容器即可控制容器

我需要让一个控件成为一个控制器(在设计和运行时保持其他控件)类似于TPanel,而不继承自定义面板或类似的控件,我如何告诉我的控件它假设包含东西?

delphi delphi-2009

5
推荐指数
1
解决办法
793
查看次数

让我在IDE中控制的组件成为我控制的孩子

我有一个后代TWinControl(实际上它只是现在)并且我将它注册为IDE中的一个组件:

type
  TGroupPanel = class(TWinControl);
Run Code Online (Sandbox Code Playgroud)

但当我删除其他组件时,它们会附加到表单而不是我的控件.换句话说,我希望我的自定义控件的行为类似于TPanel删除它的组件成为它的子组件.

如果我在运行时创建组件并手动将它们分配给我的控件,如下面的代码,那么它的工作原理如下:

  TForm1 = class(TForm)
    Group: TGroupPanel;
    procedure FormCreate(Sender: TObject);
  private
    Panel: TPanel;
  end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel := TPanel.Create(Group);
  Panel.Parent := Group;
  Panel.Align := alClient;
end;
Run Code Online (Sandbox Code Playgroud)

那么,如何TWinControl在设计时将组件丢弃成为该控制的子项呢?

(我要做的是做一个特殊的控制来组合其他组件,所以我可以对齐并将它们放在一起.当然,我可以用普通面板做到这一点,但我想用轻量级控件做到这一点没有画任何东西,在TWinControl我找到解决方案.)

delphi controls delphi-2009

3
推荐指数
1
解决办法
236
查看次数

标签 统计

delphi ×2

delphi-2009 ×2

controls ×1