Hola,
Yo he logrado algo como esto:
No sé si es lo que quieres. Para ello, redefino el método CustoAlignPosition del formulario:
Código Delphi
[-]
procedure TForm1.CustomAlignPosition(Control: TControl; var NewLeft,
NewTop, NewWidth, NewHeight: Integer; var AlignRect: TRect;
AlignInfo: TAlignInfo);
begin
inherited;
if Control = Panel3 then
begin
NewLeft := Panel1.Left + Panel1.Width;
NewTop := 0;
NewWidth := ClientWidth - Panel1.Width - Panel2.Width;
end;
end;
Panel1 tiene alineación alLeft, Panel2 alRight y Panel3 alCustom. Esto último es importante porque si no, no se llama al método CustomAlignPosition.
Lo malo es que la posición y tamaño iniciales del formulario hijo no se ajustan al área sobrante y tienes que moverlo tú mismo.
// Saludos