Hi,
erst mal Respekt für Dein Projekt, das sieht schon nicht schlecht aus
Ich habe in meinem Projekt
meine Turniersoftware etwas Ähnliches in Bezug auf größenänderbare Controls in einer Scrollbox umgesetzt.
Wenn Du nicht Standardcontrols verwendest (Edits etc) - oder diese nur auf eigene Controls drauf setzt - taugt das vielleicht auch als Ansatz.
Grundsätzlich habe ich eínen "Designer" von TScrollBox abgeleitet.
Der erhält ein virtuelles Raster und die Eigenschaften StyleMode und StyleSize.
Die Controls sind spezielle Komponenten, die der Designer kennt und die über eine XPos und YPos verfügen (die die Position im Raster bezeichnen).
Wird StyleSize vom Designer geändert, ändert der seine Rasterabstände und veranlasst die Controls, sich daran neu auszurichten und zu zeichnen. Je nach DesignMode und DesignSize können sich die Controls ggf. anders zeichnen bzw. ihre SubControls anders ausrichten.
Vorteil: Die Inhalte der Controls können an die jeweilige Größe angepasst werden. Bei kleiner Spieledarstellung lasse ich z.B. die Spielernamen weg oder kürze irgendwelche Informationen. Bei größerer Darstellung werden mehr Informationen dargestellt. Es wird also nichts gezoomt sondern die Größe der Controls "automatisch" an die Designereinstellungen angepasst.
Weiterhin kann die Darstellung und Funktion der Controls durch die Eigenschaft DesignMode beeinflußt werden. Z.B. werden im DesignMode "construct" Hilfslinien gezeichnet und Anfasser für Größenänderungen verwaltet.
Nachteil: Ziemliche Bastelei und ggf. jede Menge unterschiedliche Darstellungsvarianten. Spezielle Abstimmungen zwischen Designer und Controls erforderlich.
Stahli