Hi,
du stellst für dein Formular Scaled auf false (im Objektinspektor, sonst ists schon zu spät), da du dich um die Skalierung selbst kümmern willst. (Scaled skaliert per DPI-Wert.)
Dann musst du die Methode ScaleBy verwenden, als Parameter die alte und die neue Breite oder die alte und die neue Höhe. (Mit alt meine ich ClientHeight wies vorher war, mit neu Screen.Height).
Problem:
Du musst herausfinden, ob du lieber die Breite oder Höhe einträgst. Bei 1280x1024 ist Breite besser (z. B. mein TFT), bei nem Widescreen eher die Höhe, da du sonst breiter oder höher skalierst als dein Bildschirm ist wenn du die falsche Angabe nimmst. Aber prinzipiell müsste es so gehen. Also vorher (z. B. per Dreisatz) die neue Breite des Formulars (z. B.) bestimmen, ist sie größer als die Bildschirmbreite, dann skalierst du per Höhen, sonst per Breiten.
Mehr Infos siehe
OH.
Gruß
FAlter