Wie kann ich zur Compilezeit die aktuelle DPI mit linken?
In meinem Quellcode gehe ich davon aus, dass zur Zeit der Übersetzung die Skalierung vom Windows 96 DPI ist. Wenn dann die EXE mit einem anderen Windows mit 200% Skalierung gestartet wird, dann sieht alles gut aus.
Jedoch wenn ich bei einem anderen Windows übersetze mit z.B. 200% Skalierung, und dann die EXE öffne, dann sind die Steuerelemente doppelt so groß.
Nun sollte ich während dem Übersetzen wissen mit welcher Skalierung das geschah, damit ich das zurückrechenen kann.
Gibt es so eine Compile-Variable?
Quellcode:
Code: Alles auswählen
// Das muss übersetzt werden, damit alles gut aussieht wenn Windows auf 100%/96 DPI eingestellt ist
Procedure TForm1.FormCreate(Sender: TObject);
Begin
ScaleDPI(Self, 96);
end;
// Das muss übersetzt werden, damit alles gut aussieht wenn Windows auf 200%/192 DPI eingestellt ist
Procedure TForm1.FormCreate(Sender: TObject);
Begin
ScaleDPI(Self, 192);
end;
Dankeschön, Grüße Markus.
Infos dazu hier "uscaledpi.pas":
https://wiki.freepascal.org/High_DPI/de