Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi ScaleBy & ScaleForPPI (https://www.delphipraxis.net/196548-scaleby-scaleforppi.html)

lxo 30. Mai 2018 09:40


ScaleBy & ScaleForPPI
 
Hallo,

seit dem neusten DevExpress Update haben wir Probleme beim speichern/laden der Spaltenbreite von TcxGrids, wenn das Fenster skaliert wurde.

Momentan nutzen wir für unsere Skalierung
Delphi-Quellcode:
procedure TWinControl.ScaleBy(M, D: Integer);
empfohlen von DevExpress wurde jetzt
Delphi-Quellcode:
procedure TWinControl.ScaleForPPI(NewPPI: Integer);
.
Damit ist auch das Problem behoben, jedoch verstehe ich nicht ganz wo da der Unterschied ist.

Kennt jemand von euch den genauen Unterschied zwischen ScaleBy und ScaleForPPI?

EWeiss 30. Mai 2018 09:47

AW: ScaleBy & ScaleForPPI
 
Nur eine Vermutung..
Ich denke das sollte so heißen ScaleForDPI
Dann wäre es verständlich.

Es wird dann wohl der Skalierungsfaktor abhängig von der DPI berechnet.

Meine Vermutung scheint wohl zu stimmen.
Zitat:

"How to Create a Per-Monitor DPI-Aware Application"
gruss

lxo 30. Mai 2018 09:52

AW: ScaleBy & ScaleForPPI
 
Ne die Methode heißt wirklich ScaleForPPI ist so in der Unit "Vcl.Controls" drin.
Ich gehe auch davon aus das da irgendwas mit DPI berücksichtigt wird.
Aber was ist da genau der Unterschied zwischen den beiden Methoden ? :?

EWeiss 30. Mai 2018 09:57

AW: ScaleBy & ScaleForPPI
 
Zitat:

Zitat von lxo (Beitrag 1403425)
Ne die Methode heißt wirklich ScaleForPPI ist so in der Unit "Vcl.Controls" drin.
Ich gehe auch davon aus das da irgendwas mit DPI berücksichtigt wird.
Aber was ist da genau der Unterschied zwischen den beiden Methoden ? :?

Es sollte doch in der Hilfe beschrieben sein.
https://www.devexpress.com/Support/C...se-scaleforppi

Mehr als googeln können wir auch nicht.
Und soll wohl die Abkürzung für PixelsPerInch sein PPI.

gruss

Fritzew 30. Mai 2018 10:05

AW: ScaleBy & ScaleForPPI
 
ScaleForPPI benutzt entweder als Basis die DesignDPI, also die DPI die auf dem Entwicklungsrechner eingestellt ist,
oder wenn schon mal skaliert wurde die aktuelle DPI des Formulars.
Die Idee dahinter ist, dass bei Multi-Monitorumgebungen beim verschieben von einem auf den anderen Monitor die richtige skalierung gesetzt wird.
Bei Benutzung von Devexpress würde ich auch empfehlen alle Formulare von TDxForm (unit dxForms) abzuleiten, da handelt Devexpress eigentlich alles.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz