Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Falsche Skalierung bei Frames mit HighDPI (https://www.delphipraxis.net/212104-falsche-skalierung-bei-frames-mit-highdpi.html)

Friday 18. Dez 2022 14:07

Falsche Skalierung bei Frames mit HighDPI
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
ich erstelle unter 150% Windows-Skalierung auf einem HighDPI Monitor eine Anwendung mit Projekteinstellung->Manifest v2 Monitor.
Windows 10, Delphi 11.2

Alle Forms werden sowohl mit 150% Skalierung wie mit 100% Skalierung korrekt dargestellt.
In einer Form lade ich zur Laufzeit Frames und da beginnt das Problem.
Seit 11.2 ist es endlich so, dass die Frames korrekt dargestellt werden (so wie im Designer) unter 150% Skalierung.
Allerdings sind die GUI-Elemente unter 100% Skalierung falsch (Positionen teilweise um 50% zu groß).
Hier ein Bild von der Anwendung unter 150% Skalierung, so wie designed:
Anhang 55683

und hier mit 100% Windows-Skalierung:
Anhang 55684

Falls sich jemand das Beispielprojekt ansehen würde: https://app.box.com/s/p7heuuqzhv4uyljiixz01404m65g7q65

Ist das ein Bug von Delphi? Mache ich da was falsch oder gibt es einen Workaraound?

Danke für jede Hilfe.

Uwe Raabe 18. Dez 2022 14:19

AW: Falsche Skalierung bei Frames mit HighDPI
 
Es gibt noch so einige Bugs bei Frames und High DPI, je nach Anwendungsfall. Schau doch mal, ob du einen vergleichbaren Fall in QP findest. Wenn nicht, legst du einfach einen an.

Friday 19. Dez 2022 19:02

AW: Falsche Skalierung bei Frames mit HighDPI
 
ja ist in der Tat schon reported. https://quality.embarcadero.com/browse/RSP-40110

Nun habe ich mich genötigt gefühlt meine Subscription zu verlängern in der Hoffnung, dass dieser Fehler mit dem nächsten Update behoben wird.

Auch ein Geschäftsmodell :x

Friday 3. Mär 2023 18:59

AW: Falsche Skalierung bei Frames mit HighDPI
 
tja, scheint auch mit 11.3 nicht behoben worden zu sein und das obwohl bei den Neuerungen folgendes aufgelistet ist:
Zitat:

VCL Form Designer and High DPI
RAD Studio 11.3 offers improvements to the High DPI IDE and in particular the VCL Form Designer quality under High DPI , with specific improvements in the scaling of non-visual components, including in frames.
Frag mich was da gefixt wurde :?

himitsu 4. Mär 2023 08:51

AW: Falsche Skalierung bei Frames mit HighDPI
 
Die Probleme, welche du nicht hattest :zwinker:

TurboMagic 4. Mär 2023 09:41

AW: Falsche Skalierung bei Frames mit HighDPI
 
Zitat:

Zitat von Friday (Beitrag 1519463)
tja, scheint auch mit 11.3 nicht behoben worden zu sein und das obwohl bei den Neuerungen folgendes aufgelistet ist:
Zitat:

VCL Form Designer and High DPI
RAD Studio 11.3 offers improvements to the High DPI IDE and in particular the VCL Form Designer quality under High DPI , with specific improvements in the scaling of non-visual components, including in frames.
Frag mich was da gefixt wurde :?

Dazu siehe hier:
https://docwiki.embarcadero.com/RADS...AD_Studio_11.3

Harry Stahl 4. Mär 2023 11:13

AW: Falsche Skalierung bei Frames mit HighDPI
 
Zitat:

Zitat von Friday (Beitrag 1516380)
Hallo,
ich erstelle unter 150% Windows-Skalierung auf einem HighDPI Monitor eine Anwendung mit Projekteinstellung->Manifest v2 Monitor.
Windows 10, Delphi 11.2


Falls sich jemand das Beispielprojekt ansehen würde: https://app.box.com/s/p7heuuqzhv4uyljiixz01404m65g7q65

Ist das ein Bug von Delphi? Mache ich da was falsch oder gibt es einen Workaraound?

Danke für jede Hilfe.

Ich habe das Projekt mal geladen und kompiliert. Da waren die Elemente auf den mir hier zur Verfügung stehenden Auflösungen (125 und 100) sowie 175 und 100) jeweils für sich gesehen korrekt skaliert. Dann habe ich Deine Frame unit geöffnet und gesehen, dass die Abstände dort enger sind, als in der kompilierten und ausgeführten Fassung. Teilweise waren auch einige Elemente nicht voll sichtbar, so dass man diese etwas vergrößern musste.

Ich vermute mal, Du verwendest eine andere Einstellung als 96 DPI (unter Tools) für den Designer? Das führt nach meinen Feststellungen immer wieder zu Problemen, daher designe ich nur unter Einstellung "Benutzeroberfläche", "FormularDesigner", "HighDPI" die Einstellung "Low DPI (96PPI). Delphi selber läuft DPI-Aware auf einem 125% DPI Monitor.

Erneut kompiliert, wurde der Frame auch korrekt in den von Dir ursprünglich designten engeren Abständen angezeigt, auf allen unterschiedlichen Monitorauflösungen.

Falls Du also nicht 96DPI dort stehen hast, würde ich Dir empfehlen, das umzustellen. Allerdings vorher unbedingt eine Sicherungskopie Deines Projektes machen, ich habe das Anfangs auch mal anders versucht und nach einer Umstellung war das ganze Formular "im Eimer", also alles total verschoben.

Friday 5. Mär 2023 09:38

AW: Falsche Skalierung bei Frames mit HighDPI
 
Danke für den Tipp Harry.
Tatsächlich nutze ich auch unter dem Designer 150% Skalierung ("automatisch").
Hier 96ppi zu nutzen hatte ich unter 11.2 auch ausprobiert, da hatte es noch nichts gebracht. Also hat sich hier doch etwas in 11.3 getan. Vielleicht gehts dann mit 11.4 auch unter 144ppi :wink:
Ist zwar etwas mühsam mit 96ppi (4k Monitor = Nase fast auf dem Bildschirm), und z.B. werden die RadioButtons von einer RadioGroup bei 96ppi viel zu groß dargestellt (nur in Design-Time), aber immerhin ein Schritt in die richtige Richtung.

Danke nochmals

Uwe Raabe 5. Mär 2023 09:49

AW: Falsche Skalierung bei Frames mit HighDPI
 
Zitat:

Zitat von Friday (Beitrag 1519514)
Ist zwar etwas mühsam mit 96ppi (4k Monitor = Nase fast auf dem Bildschirm), und z.B. werden die RadioButtons von einer RadioGroup bei 96ppi viel zu groß dargestellt (nur in Design-Time)

Ich verwende auch noch bei 11.3 die IDE mit der /highdpi:unaware Kommandozeilenoption wenn ich im Form-Designer arbeite. Die Forms und Controls haben dann die korrekte Größe, sind allerdings unter 4K etwas pixelig. Damit gibt es immer noch die wenigsten Probleme und somit kann ich damit leben bis es eine bessere Option gibt. Zu der gehört für mich unabdinglich, dass die Forms, Frames und DataModules auf 96 dpi runterskaliert werden, bevor die DFMs geschrieben werden (siehe RSP-35301. Gerade in Teams mit unterschiedlichen Auflösungen und Skalierungen ist das eigentlich ein Muss.

Friday 5. Mär 2023 15:47

AW: Falsche Skalierung bei Frames mit HighDPI
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1519515)
Ich verwende auch noch bei 11.3 die IDE mit der /highdpi:unaware Kommandozeilenoption wenn ich im Form-Designer arbeite.

Danke, sehr guter Tipp!
Ich hoffe Embarcadero setzt deinen Vorschlag um.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:22 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