Ich verwende dafür Panels, die ich zur Designzeit auf dem Formular so verteile, dass ich alle darauf befindlichen Steuerelemente gut bearbeiten kann. Zur Laufzeit werden die Panels dann im OnCreate an die gleiche Stelle gesetzt und bis auf das jeweils anzuzeigende unsichtbar gemacht.
TNotebook war vom Prinzip her nett, aber ist aber eine "schlechte" Demokomponente.
Also TPageControl, Tabs ausblenden und wie ein Panel mit mehreren Seiten verwenden.
Beim Visible-Ändern und die Controls (mit Margins) oder besser Panels auf alTop ... da muß man halt auf die Reihenfolge achten, da sie sich ändern könnte.
Möglich wäre auch Height=0 zu setzen, aber da muß man auf den Fokus achten und müsste eventuell noch mit Enabled rumspielen.
* Eventuell einfach Tag mit der "Sortierung" füllen oder die Erstellungsreihenfolge verwenden und dann nach Sichtbarkeisänderung das Top überall nochmal anpassen.
* Oder immer erst "alles" ausblenden und dann neu in der richtigen Reihenfolge das Einblenden, was grade benötigt wird.
Oder, wenn es nur einzene Controls sind, dann nicht mit Visible arbeiten, sondern mit Enabled und alles an seiner Position belassen.