![]() |
Control-Skalierung unter Windows 10
Ich bin kürzlich auf Windows 10 umgestiegen, weil ich mir einen 4K-Monitor zugelegt habe. Natürlich musste ich dann die Skalierung ändern, sie steht zurzeit auf 175%. (Eigentlich hat so ein 4K-Monitor nur Nachteile, außer bei seinem Hauptzweck, dem Anzeigen von Bildern und Videos). Ich habe auf meinen Forms zig Textboxen, Panels und so weiter, die jetzt in großer Zahl verschoben und verknautscht sind. Die Formen stehen alle auf Scaled, eine Reihe von Größen funktionieren auch; ich glaube, wenn Text oder Aufschriften ins Spiel kommen, dann werden sie vergrößert, aber der Container nicht, vor allem nicht vertikal.
Muss ich das alles jetzt händisch machen oder gibt es da einen einfacheren Weg? |
AW: Control-Skalierung unter Windows 10
Am schnellsten bekommst du das weg, wenn du die High-DPI Unterstützung im Manifest deaktivierst.
Soll die aber erhalten bleiben, dann musst du schon konkret zeigen, was du machst und was dann nicht funktioniert. Es gibt keine pauschalen Empfehlungen für diese Problematik, da man dort an zu vielen Stellmöglichkeiten was kaputt machen kann. |
AW: Control-Skalierung unter Windows 10
Also ich habe auch einen 4k (zweitmonitor) und habe mit 10.2 (fast) keine Probleme.
Oft liegt es an einen Code oder "Altforms" welche seit den Umstieg D6->X6->10.2 noch nicht neu gespeichert wurden. In 10.3 gib es glaube ich durch übearbeitung des HighDPI-Funktionalität noch ein paar "Baustellen" die man selbst umschiffen muss. Evtl. auch alte Controls funktionieren wegen fehlender Anpassung an neue Delphi-Versionen nicht richtig (Skalierungsmethode gibts jetzt in erweiterter Version). |
AW: Control-Skalierung unter Windows 10
Das Umstellung in den Projektoptionen - Manifest von "Über Monitor V2" auf "Keiner" hatte durchschlagenden Erfolg, alles sah aus wie vorher.
Nur handelt es sich ja um ein Bildanzeigeprogramm. Und dann werden die Bilder leider mitskaliert und der Vorteil eines hochauflösenden Monitors ist dahin. Zu einem Teil ist es auch so, dass ich Controls - in der Regel TPanel - je nach Inhalt anpassen muss. Das hatte ich zum Teil mit absoluten Pixelangaben gemacht, was mir jetzt natürlich auf die Füße fällt. Gibt es eine Möglichkeit, einen Faktor zu ermitteln? |
AW: Control-Skalierung unter Windows 10
K.A. ob's Dir weiterhilft, aber bei allen meinen Forms habe ich damals (uraltes Delphi7pe) im OI auf
scaled := false; umgestellt und überlasse seitdem das Skalieren den Systemeinstellungen von Windows (>=8). Keine Probleme dadurch/damit. Benutze aber auch nur einen Monitor und 100-150% für's Skalieren durch Windows und keine in die Skalierung reinfummelnden Manifeste. |
AW: Control-Skalierung unter Windows 10
Zitat:
|
AW: Control-Skalierung unter Windows 10
So isses, das hatte ich auch schon probiert, da ich vorher ja etwas rumgelesen hatte.
Es scheint ja keinen Zauberweg zu geben. Ich habe jetzt so eine Art (Frickel-)Lösung gefunden. Man hätte sich schon denken können, dass absolute Pixelangaben einem irgendwann mal auf die Füße fallen. |
AW: Control-Skalierung unter Windows 10
@Uwe Raabe: Was würdest Du empfehlen? Gibt es überhaupt eine (eher allgemeingültige) Empfehlung bezüglich "scaled := ?????" bei neueren Delphis?
Was meinst Du mit "der unscharfen Bilddarstellung"? Graphiken auf/in den Forms oder auch die Textdarstellung auf/in den Formularen? Oder das Zoomen von Windows (auf über 100%) allgemein? |
AW: Control-Skalierung unter Windows 10
Zitat:
Zitat:
Für Schriften kann man da noch etwas rausholen, wenn man unter Windows in den Eigenschaften bei Kompatibilität - Hohe DPI-Skalierung überschreiben das System (Erweitert) einstellt. Dabei bleiben aber Grafiken wie Icons und Bilder unberührt. Die High-DPI Unterstützung wird mit jeder Windows- und Delphi-Version besser. Für halbwegs normale Anwendungen sollte das aktuell auch ausreichen, aber es gibt halt immer Sonderfälle, die noch nicht so richtig abgedeckt sind. Da muss man dann im Einzelfall nach Lösungen suchen oder halt Kompromisse eingehen. |
AW: Control-Skalierung unter Windows 10
Zitat:
Delphi-Quellcode:
Wobei die 96 davon ausgeht, dass du deine Forms in der IDE mit 100% designst.
Screen.PixelsPerInch/96
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz