Suscribo lo dicho por
dec. Aunque también puedes anidar Frames en tiempo de ejecución, colocar tantos frames como quieras y situarlos donde te apetezca.
Como ya sabes, solo con poner la propiedad Parent de un frame, puedes poner ese frame donde quieras.
Ejemplo:
Código Delphi
[-]
var
l: TLabel;
f1, f2: TFrame;
b: TButton;
begin
f1 := TFrame.Create(Self);
f1.Parent := Self;
f2 := TFrame2.Create(Self);
f2.Parent := f1;
f1.SetBounds( 0,0 100, 400); f2.setBounds(300, 100, 100,100);
Obviamente tendrás que jugar con los anchors para que todo cuadre y unos frames no se superpongan con otros.
Saludos