AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung

TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung

Ein Thema von DieDolly · begonnen am 8. Jan 2020 · letzter Beitrag vom 10. Jan 2020
Antwort Antwort
Seite 1 von 2  1 2   
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung

  Alt 8. Jan 2020, 20:12
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.
Miniaturansicht angehängter Grafiken
1080p-100dpi.jpg   1440p-100dpi.jpg  
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung

  Alt 9. Jan 2020, 20:34
Hat niemand eine Idee?
Oder eventuell eine Info, ob das ein bekanntes Windows- oder Delphiproblem ist?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung

  Alt 9. Jan 2020, 20:51
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?
Heiko
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#4

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung

  Alt 9. Jan 2020, 21:05
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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung

  Alt 9. Jan 2020, 21:07
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#6

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung

  Alt 9. Jan 2020, 21:07
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.

Geändert von DieDolly ( 9. Jan 2020 um 21:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung

  Alt 9. Jan 2020, 21:31
Nicht OB, sondern WANN. Laut hoika hat es zur Laufzeit keinerlei Auswirkung.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#8

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung

  Alt 9. Jan 2020, 21:33
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.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung

  Alt 9. Jan 2020, 21:41
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.
Heiko
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.015 Beiträge
 
Delphi 2009 Professional
 
#10

AW: TMonthCalender Anzeigeprobleme bei Displays mit hoher Auflösung

  Alt 9. Jan 2020, 21:42
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.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:14 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