MeinForm.ScaleFactor und auch DeinForm.Scalefactor gibt leider 1 zurück.
Aber für die Controls auf dem Form stimmt der Wert.
Klick mal einen Button auf dein Form:
Delphi-Quellcode:
procedure TForm82.Button1Click(Sender: TObject);
begin
showmessage( button1.scalefactor.ToString );
end;
Da wird dir dein Programm die von dir erwarteten 1.25 zurückgeben.
Und wenn du dein Form mittels changescale( 5, 2 ); skalierst, wird dein Form und damit auch dein Button mit 5/2=2.5 skaliert.
button1.scalefactor wird dann 1.25*5/2=3.125 zurückgeben.
DeinForm.Scalefactor ist immer noch 1. (Irgendwie stimmt das ja auch ein wenig, da die Titelzeile des Formulars ja beim Skalieren nicht grösser oder kleiner wird
.)