In den letzten Monaten habe ich mit Delphi 11.3 schon einige
VCL-Applikationen mit High-DPI-Support geschrieben bzw. angepasst. Das geht meistens auch recht gut und erfordert nur kleine Anpassungen. Delphi 12 erleichtert das auch noch etwas mehr.
Du Glücklicher: Ich versuch schon seit fast 1 1/2 Jahren unsere Anwendung umzustellen und finde immer noch Sachen, die nicht gehen
Einfaches Beispiel (Delphi 11.3):
- Neues leeres
VCL Projekt, DPI V2 Aware
- starten auf Monitor mit 100% (2650x1440)
- Fenster in der Höhe verändern, daß es fast die gesamte Höhe verwendet
- mit Shift+WINDOWS auf den zweiten Monitor mit 200% (3840x2160) schieben (--> nun sollte das Fenster nicht mehr ganz Platz haben)
- mit Shift+WINDOWS zurück auf den ersten Monitor schieben
--> Fenster hat nun eine andere Höhe
Oder das:
- Neues
VCL Projekt, DPI V2 Aware, Form 400x400 bei 96 DPI Design
- starten auf Monitor mit 100%
- Fenster maximieren
- mit Shift+WINDOWS+Pfeil rechts auf den zweiten Monitor schieben
- mit Shift+WINDOWS+Pfeil links zurück auf den ersten Monitor schieben
- Maximierung aufheben
--> Jetzt hat das Fenster eine andere Größe (ca. 400x300)
Würde das unter Delphi 12 korrekt die Größe beibehalten?
Frage zu Delphi 12: sind die Konopka Komponenten inzwischen endlich durchgehend DPI Aware gemacht worden? Unter 11.3 gab es noch massenhaft hart hinterlegte Offsets für Layout-Berechnungen und Zeichenroutinen (z.B. in RzTabs.pas die 'Magic Numbers' von MMX durchgehen).