Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung (https://www.delphipraxis.net/203058-tmonthcalender-anzeigeprobleme-bei-displays-mit-hoher-aufloesung.html)

DieDolly 8. Jan 2020 20:12


TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ich weiß nicht genau, wie man das Problem beschreiben soll. Ich hänge unten Screenshots an.
Das Programm wird auf einem FullHD-Bildschirm entwickelt bei 100% DPI.
Scaled der Form ist aktiviert.
Bei einem Display mit einer höheren Auflösung (2K, 4K usw., egal wieviel DPI), wird der Kalender breiter dargestellt als es der Fall sein sollte.

Das Programm hat 1 Zeile Benutzer-Code: Scaled := True im FormShow. Mehr nicht. Auch wenn die weg ist, besteht das Problem weiterhin.
Ist das ein Problem mit der Komponente? Es ist doch eigentlich nur ein Wrapper über die Windowskomponente.

Die Auflösung bei dem Bildschirm mit der höheren Auflösung ist übrigens egal. Ich habe von FullHD über 2K bis 4K alles getestet.

DieDolly 9. Jan 2020 20:34

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung
 
Hat niemand eine Idee? :oops:
Oder eventuell eine Info, ob das ein bekanntes Windows- oder Delphiproblem ist?

hoika 9. Jan 2020 20:51

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung
 
Hallo,
Scaled := True

Das funktioniert nicht im laufenden Betrieb!
Scaled wird beim Laden des Forms (etwa kurz hinter FormCreate) ausgewertet, nicht danach.

Funktionieren denn alle anderen Controls.

Was ich gesehen habe, sind ja die Wochentage in Bild 2 zu "ausländisch".
Dabei sind die Wochentags-Kürzel länger als in Deutschland.

Passiert das auch, wenn Du deinen eigenen Rechner (German) so umstellst?

DieDolly 9. Jan 2020 21:05

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung
 
Zitat:

Das funktioniert nicht im laufenden Betrieb!
Wie ich oben geschrieben habe ist es egal ob Scaled True oder False ist.

Zitat:

Was ich gesehen habe, sind ja die Wochentage in Bild 2 zu "ausländisch".
Das ist egal. Auf meinem Deutschen Windows sieht es auch so aus. War gerade aber in 2K oder 4K nicht zur Hand.

Luckie 9. Jan 2020 21:07

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung
 
Zitat:

Zitat von DieDolly (Beitrag 1454808)
Zitat:

Das funktioniert nicht im laufenden Betrieb!
Wie ich oben geschrieben habe ist es egal ob Scaled True oder False ist.

Zitat:

Was ich gesehen habe, sind ja die Wochentage in Bild 2 zu "ausländisch".
Das ist egal. Auf meinem Deutschen Windows sieht es auch so aus. War gerade aber in 2K oder 4K nicht zur Hand.

Aber wann setzt du es? Zur Laufzeit oder zur Designzeit? Wie hoika schrieb, funktioniert es nicht zur Laufzeit.

DieDolly 9. Jan 2020 21:07

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung
 
Zitat:

Aber wann setzt du es? Zur Laufzeit oder zur Designzeit? Wie hoika schrieb, funktioniert es nicht zur Laufzeit.
Es ist egal ob man es setzt oder nicht. Das Ergebnis ist gleich. War nur eine Vermutung von mir, dass es daran liegen könnte.

Ihr könnt das testen: öffnet ein frisches Projekt und packt ein TMonthCalendar in einen Container wie eine GroupBox oder ähnliches.
Es reicht aber auch das TMonthCalendar an Position 0:0 zu setzen. Kompiliert es in 1080p 100% DPI. Schaut es danach in 2K und 4K 100% DPI an.

Luckie 9. Jan 2020 21:31

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung
 
Nicht OB, sondern WANN. Laut hoika hat es zur Laufzeit keinerlei Auswirkung.

DieDolly 9. Jan 2020 21:33

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung
 
Zitat:

Nicht OB, sondern WANN.
Wenn ich Scaled := X zur Laufzeit nicht verwende, dann erübrigt sich die Frage des wanns :?:

Ich verwende es NICHT! Es ist nur ein MonthCalendar auf der Form sonst nichts. Nicht eine Zeile Code wenn man Scaled wegnimmt.
Zitat:

Das Programm hat 1 Zeile Benutzer-Code: Scaled := True im FormShow. Mehr nicht. Auch wenn die weg ist, besteht das Problem weiterhin.

hoika 9. Jan 2020 21:41

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung
 
Hallo,
Zitat:

Schaut es danach in 2K und 4K 100% DPI an
Hast du das Manifest entsprechend angepasst?

Wenn nicht, mach mal ne Verknüpfung auf dem Desktop und setze bei ?Kompatibilität
Scaling erfolgt durch Anwendung
Ungefähr so müsste das heißen, habe gerade keinen xK-Monitor hier.

Redeemer 9. Jan 2020 21:42

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung
 
TForm.OnShow ist extrem spät. Ich glaube auch, dass in 90% der Fälle, in der Leute TForm.OnShow verwenden, sie das Ereignis nicht verstanden haben. Aber egal.

hoika schrieb nämlich doch, dass Scaled an der Stelle wirkungslos ist. Dann ist auch klar, dass es egal ist, ob du diese Zeile in den Code packst oder nicht: In beiden Fällen passiert nichts.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:30 Uhr.
Seite 1 von 2  1 2      

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