Hallo zusammen!
Ich hatte es schon
auf G+ gepostet, aber da ist ja auch nicht jeder aus der
DP unterwegs. Daher nun auch hier meine Bitte um rege Testbeteiligung.
Nachdem Embarcadero ja irgendwie nicht richtig aus dem Quark kommt, habe ich mich entschlossen das Heft in die Hand zu nehmen und selbst an der
VCL rumzuschrauben, um eine konsistente, stabile und vor allem Delphi-würdige Unterstützung von Multi-Monitor-Systemen mit unterschiedlichen DPI-Einstellungen bereitzustellen. Erste Tests haben schon sehr vielversprechende Ergebnisse geliefert.
Die angefügte ZIP-Datei enthält zwei ausführbare Programme:
HighDPIRef und
HighDPITest. Die Ref-Version ist mit einer Standardinstallation von Delphi 10.2.3 Tokyo erstellt worden. Bei der Test-Version habe ich ein paar Änderungen an der
VCL gemacht und ein anderes Manifest verwendet. Beide Projekte verwenden dieselben Sourcen, lediglich der Suchpfad des Test-Projekts ist anders.
Das Ref-Projekt liegt auch im Source bei, wie auch eine neue Komponente
TDPIAwareImageList, deren Sourcen im DynImageList-Ordner zu finden ist. Wer also das MainForm öffnen will, sollte vorher das entsprechende DynImageList-
Package installieren. Allerdings hat das
Package noch nicht die nötige Veröffentlichungsreife - das kommt aber noch.
Für die Tests wünsche ich mir eine breite Abdeckung unterschiedlicher Systeme (Anzahl Monitore, System-DPI, Monitor DPI, Windows 10, 8.1, 8, 7). Ergebnisse am besten in diesem Thread posten, dann haben alle was davon.
Wenn jemand noch weitere Bereiche kennt, in denen es noch Probleme dieser Art gibt, am besten auch hier posten. Ich werde versuchen, auch diese in die Patches mit aufzunehmen.
Ach ja, bevor es jemand versucht:
VCL-Styles funktionieren auch mit diesen Änderungen noch nicht konsistent mit High-DPI. Das ist ein deutlich größerer Aufwand.