Hallo,
PS: hab ich mal gemacht, das zu proggen dauert ewig und is ne
menge quelltext
eigentlich nicht. Man muss nur alle Komponenten des Formulars (Form.Components[i]) durchgehen und die Werte für die Position und Größe anpassen. Untergeordnete Containerkomponenten werden rekursiv behandelt.
Das Ganze wird als Funktion in eine eigene Unit geschrieben. Dieser Funktion wird der Container übergeben. Innerhalb der Funktion werden die Komponenten des Containers durchlaufen. Ist die Komponente selber ein Container (Nachfahre von TWinControl) gehts in die Rekursion. Danach (also für alle Container und Nicht-Container) wird Größe und Position angepasst. Evtl. muss man bei bestimmten Komponenten noch Änderungen in der Schriftgröße vornehmen o.ä.
Sicher ist das kein „Spaziergang“, aber sehr aufwendig ist es auch nicht. Der Vorteil ist, dass auf diese Weise die Funktion nur einmal geschrieben werden muss und anschließend in jede beliebige Anwendung eingebunden werden kann.
Die Bildschirmauflösung erhält man über die Funktion „GetDeviceCaps“.
Gruß, Niels