Einzelnen Beitrag anzeigen

bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#1

Screen.PixelsPerInch <> Form.PixelsPerInch

  Alt 7. Nov 2018, 09:12
Hallo,

habe kürzlich mein Hauptprojekt von D2007 auf D10.2 umgestellt. Das ging eigentlich erstaunlich gut, bis ich jetzt auf dieses leidige HighDPI-Thema gestoßen bin.

Diverse Anpassungen an Controls habe ich immer mit round(x * PixelsPerInch/96) umgerechnet.

Wenn das so in einer Methode eines Forms aufgerufen wird, wird natürlich auf TForm.PixelsPerInch zugegriffen. Das war unter D2007 auch OK, denn da stand bei höheren Auflösungen immer der korrekte PixelsPerInch-Wert drin.

In D10.2 ist das anscheinend anders. Form.PixelsPerInch ist immer 96, in Screen.PixelsPerInch steht der aktuelle PixelsPerInch-Wert.

Es geht mir jetzt nur darum, dass ich verstehe, was da abläuft. Ist es richtig, das in Form.PixelsPerInch immer der Wert drinsteht, mit dem das Formular designed wurde und in Screen.PixelsPerInch der aktuelle Wert?
  Mit Zitat antworten Zitat