Como crio um controle personalizado com um subpainel que aceita outros controles no momento do design? [duplicado

Esta pergunta já tem uma resposta aqui:

Deixe que os componentes que caem no meu controle no IDE se tornem filhos do meu controle 1 resposta

Escrevi um controle personalizado, que possui vários subpainéis. Quero que esses subpainéis aceitem quaisquer controles adicionais lançados sobre eles em tempo de desig

Infelizmente, qualquer controle que seja descartado no tempo de design acaba no meu controle personalizado, não nos painéis. Isso é exibido especialmente se eu tentar soltar um rótulo: os pontos azuis do rótulo são mostrados, mas sua legenda não é e, se eu desmarcar o rótulo, ele não estará mais visíve

código simplificado (apenas um sub-painel):

type
  TMyContainer = class(TPanel)
    p_SubPanel: TPanel;
  public
    constructor Create(_Owner: TComponent); override;
  end;

  constructor TMyContainer.Create(_Owner: TComponent);
  begin
    inherited;
    p_SubPanel := TPanel.Create(Self);
    p_SubPanel.Parent := Self;
    p_SubPanel.Align := alClient;
  end;

O que eu estou fazendo errado aqui

(Apenas no caso de ser importante: estou usando o Delphi 2007.)

[editar

Eu resolvi isso de forma diferente. O componente não contém mais painéis, mas refere-se a painéis externos. Isso o torna realmente muito mais flexível, mas o lado negativo não é mais tão intuitivo de usa

Ainda gostaria de saber como realizar o que descrevi originalmente. Não existe um componente de código aberto em algum lugar que faça isso, para que eu possa estudar o código-font