Zitat:
ScaleBy(GetScaleFactor, 100);
Warum genau 100?
100% od er 100 DPI?
Ich habe deine Funktion eben an einem existieren Projekt mit 150% Skalierung Windows 7 getestet.
Bei Übergabe von 100 für D wird vieles falsch dargestellt. Übergebe ich 96, die ursprüngliche Größe unter der ich entwickle, ist alles korrekt.
Ich denke hier sollte man also eher die Original-DPI des Entwickler-Rechners angeben statt 100.
Ich nutze da pro Formular eher
uFormX.ScaleBy(Screen.PixelsPerInch, "Original-DPI");
Und dann noch Anpassungen pro Control. Aufwändige Anwendungen sehen unter DPI >100 nämlich sonst schäbig aus.