Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Bildschirmauflösung über 2560 x 1600 (https://www.delphipraxis.net/212892-bildschirmaufloesung-ueber-2560-x-1600-a.html)

creehawk 20. Apr 2023 07:14

Bildschirmauflösung über 2560 x 1600
 
Moin Moin.

Wir programmieren kleinere Editoren für ein Spielprogramm.

Die Auflösung der Bildschirme beim erstellen der Programme liegt bei 2560x1600. Sehr hübsch.

Auf Monitoren mit einer geringeren Auflösung wird alles prima angezeigt bis runter auf 1920x1080(HD).
Auf Monitoren mit höherer Auflösung (3840x2560) wird alles durcheinander gehauen, soll heißen: Steuerelemente sind nicht sichtbar oder werden übereinander dargestellt.

Bei Programmen mit zur Laufzeit erstellten Steuerelementen wird es noch schlimmer.

Ich suche einen Ansatz was da nicht richtig ist.

creehawk

Jasocul 20. Apr 2023 07:44

AW: Bildschirmauflösung über 2560 x 1600
 
Klingt für mich spontan nach falsch gesetzter Eigenschaft für Anchor der Steuerelemente.
Also Anchor so setzen, dass solche Verschiebungen nicht entstehen. Eventuell den Einsatz mehrere Panels zum Gruppieren in Betracht ziehen.

Möglicherweise spielt auch noch die Skalierung mit rein.

creehawk 20. Apr 2023 08:28

AW: Bildschirmauflösung über 2560 x 1600
 
Dann verstehe ich aber nicht warum alle Auflösungen UNTER 2560x1600 blitzsauber sind.

Noch was : bei der Auflösung darüber - also 3840x2560 - wird die Form abgeschnitten.

Also Skalierung ???

Mist.

Creehawk

creehawk 20. Apr 2023 09:28

AW: Bildschirmauflösung über 2560 x 1600
 
Und jetzt meint jemand ich muss die DPI Einstellungen testen.

Was heißt denn das jetzt? :?::?::?:

creehawk

dummzeuch 20. Apr 2023 09:32

AW: Bildschirmauflösung über 2560 x 1600
 
Zitat:

Zitat von creehawk (Beitrag 1521271)
Und jetzt meint jemand ich muss die DPI Einstellungen testen.

Was heißt denn das jetzt? :?::?::?:

Rechtsklick auf Desktop -> Display Settings -> Scale and Layout

(Oder wie auch immer das bei deutschem Windows heißt.)

creehawk 20. Apr 2023 09:45

AW: Bildschirmauflösung über 2560 x 1600
 
Danke!

Heiliger Birnbaum.

Umgestellt von 150% auf 100%, jetzt geht es. Also bis hierher.

Weiter testen.

creehawk

creehawk 20. Apr 2023 10:49

AW: Bildschirmauflösung über 2560 x 1600
 
Konsequenz:

Wenn ich jetzt die Skalierung unter Windows auf 150% setze beginnt das Trauerspiel.

Preisfrage : wie muss ich meine Formulare, Steuerelemente und alles andere bitteschön konstruieren damit das NICHT passiert.....

HILFE!!!

creehawk

himitsu 20. Apr 2023 11:26

AW: Bildschirmauflösung über 2560 x 1600
 
Zitat:

Wie?
Ein "responsives" Layout erstellen?

z.B. TGridPanel und seine Freune


Und im FMX kann man auch unterschiedliche Anzeigen für unterschiedlich große Anzeigegeräte designen.




Eine VM mit kleinerer Auflösung,
wo nicht das VM-OS, sondern der Host die Anzeige skaliert (größer darstellt)

Oder einfach ein zusätzlicher kleiner Monitor mit kleinerer Auflöung (100% im Windows).

Gibt auch nette Kleine USB-C-Monitore (für USB-C mit DP, aber teilweise auch mit "langsameren" Treiber an normalem USB nutzbar),
falls man ihn nicht oft benötigt und leicht wegräumen/wegstellen will.




Nutze seit Neustem nur 3840*1600 (der 5K war mir dann doch unnötig teuer, vor allem da nahezu keine akzeptable Dokingstation sowas ertragbar unterstütz)

Anzeige auf 100% und nur die Programme mit größerer Schrift (z.B. Delphi für die IDE)
- somit bleibt die Anzeige auf kleineren Monitoren unverändert

Renate Schaaf 20. Apr 2023 11:40

AW: Bildschirmauflösung über 2560 x 1600
 
Hast Du denn MyForm.Scaled = true?

Was hast du in den Optionen für das Projekt unter
Anwendung -> Manifest -> DPI-Unterstützung ?

Mit Per Monitor v2 funktioniert die eingebaute Skalierung bei einfachen Anwendungen auf nur einem Monitor bei mir erstaulich gut. Mein Monitor ist 3840x2160, und bis zu 300% Skalierung hab ich keine Probleme.
Wie gesagt, bei einfachen Anwendungen. Das Problem fängt an, wenn man ältere Komponenten benutzt (oder seine eigenen :)), die nicht richtig auf die Skalierung reagieren.

Kannst du mal ein bisschen code zeigen, bei dem das Problem auftritt?

@Himitsu: Ausgerechnet bei TGridpanel fängt bei mir das Problem an, wenn ich auf 350% skaliere :)

Renate

creehawk 20. Apr 2023 14:22

AW: Bildschirmauflösung über 2560 x 1600
 
Jupp.

Anwendung -> Manifest -> DPI-Unterstützung

Da stand <Über Monitor>. Jetzt habe ich dort <GDI-Skalierung> gesetzt. Läuft auf allen möglichen und unmöglichen Einstellungen.

Soweit so gut. Es sind in den Programmen nur Steuerelemente aus der IDE genutzt worden.

Es läuft jetzt also aber da muss ich nochmal ran. Wenn es denn tatsächlich Leute gibt die eine Skalierung von 300% setzen....:thumb:

Vielen Dank an alle für die Tipps!

creehawk

Renate Schaaf 20. Apr 2023 14:41

AW: Bildschirmauflösung über 2560 x 1600
 
Zitat:

Wenn es denn tatsächlich Leute gibt die eine Skalierung von 300% setzen
Es gibt viele Leute mit Sehbehinderung, die trotzdem auf ihrem Schirm noch was lesen können wollen.

Wenn das Problem mit GDI-Scaling erstmal behoben ist, dann schön.

Redeemer 21. Apr 2023 08:16

AW: Bildschirmauflösung über 2560 x 1600
 
Zitat:

Zitat von creehawk (Beitrag 1521294)
Es läuft jetzt also aber da muss ich nochmal ran. Wenn es denn tatsächlich Leute gibt die eine Skalierung von 300% setzen....:thumb:

Ist Standardeinstellung, wenn du einen etwas größeren (45") 4K-Fernseher anschließt.

himitsu 21. Apr 2023 10:29

AW: Bildschirmauflösung über 2560 x 1600
 
Bei meinem 4K 38" blieb es auf 100% ... da hat Windows nichts umgestellt.

Uwe Raabe 21. Apr 2023 12:05

AW: Bildschirmauflösung über 2560 x 1600
 
Zitat:

Zitat von himitsu (Beitrag 1521336)
Bei meinem 4K 38" blieb es auf 100% ... da hat Windows nichts umgestellt.

Wahrscheinlich überprüft Windows die Entfernung zum Bildschirm...


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46 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-2025 by Thomas Breitkreuz