AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE XE11 + High-DPI für blutige Anfänger
Thema durchsuchen
Ansicht
Themen-Optionen

XE11 + High-DPI für blutige Anfänger

Ein Thema von UliBru · begonnen am 20. Dez 2021 · letzter Beitrag vom 30. Jan 2022
Antwort Antwort
Seite 1 von 2  1 2      
UliBru

Registriert seit: 10. Mai 2010
155 Beiträge
 
Delphi 11 Alexandria
 
#1

XE11 + High-DPI für blutige Anfänger

  Alt 20. Dez 2021, 21:13
Hallo zusammen,

es ist soweit, ich habe nun ein System mit XE11 + 4K-Monitor am Start.
Zielstellung ist das Erstellen einer Anwendung, die für 100%, 125%, 150% ... 200% usw. Skalierung taugt. Denn ich weiss ja nun nicht, was sich bei einem Anwender für ein System im Einsatz befindet.

Der Status quo sieht so aus, dass ich bisher mit 100% auf 1920 x 1080 px entwickelt habe. Mit allen möglichen Komponenten, z.B. TeeChart und Konopka.
Wenn nun ein Anwender 200% einstellt, klappt es derzeit reichlich schlecht mit der GUI meines Programms.

Nun, seit XE11 wird ja reichlich mit High DPI um sich geworfen. Kapiert hab ich es noch nicht.

Also: wie geht man denn nun das Ganze richtig an?
Embarcadero hat da so ein paar Veröffentlichungen losgelassen, z.B. https://blogs.embarcadero.com/de/new...orm-designing/ oder auch https://blogs.embarcadero.com/de/hig...unter-windows/ und dann noch das Developers Guide for 4K Displays

Aus letzterem habe ich auch so einen Code-Schnipsel mit WMDPIChanged (was ja mit Ausgabe 2014 schon reichlich her ist) verwendet.
Meine Formulare reagieren auch darauf und skalieren mit, aber irgendwo wird immer irgendeine Komponente abgeschnitten. Ein Konopka-Dialog zum Auswählen von Verzeichnissen reagiert überhaupt nicht, er bleibt winzig klein. Beim TeeChart reagiert was, aber auch irgendwie unterschiedlich, z.B Schrift der Legende.

Dann lese ich noch was von Manifesten, bei denen ich bisher gar nicht durchblicke.

Weiter geht es dann noch mit Icons, also Thema bmp oder svg. Mmh, wenn es dich mit der IDE so neue schöne Buttons gibt, wo bekommt man denn die nun wiederum her? Früher gab es ja mal Images mit dabei. Muss ich nun alles wieder selbst erstellen oder irgendwo zusammensuchen?

Es wäre toll, wenn ich ein paar Ratschläge für ein kleines Demoprogramm zusammenbekäme. Inhalt der GUI: ein paar bebilderte Buttons, eine Verzeichnisauswahl z.B. mit den Konopka-Tools (als Beispiel für eine beliebige Fremdbibliothek, könnte auch TMS sein), ein TeeChart. Evtl. eine Groupbox mit Checkboxes, die zur Laufzeit erstellt wird und in der Größe anzupassen ist. Also letztlich eine simple GUI, die sich aber aber auf diversen Bildschirmen und mit diversen Skalierungen korrekt verhält. Inkl. Anworten, ob man nun Per Monitor, Per Monitor v2, GDI Scaling etc. verknüpft mit welchem Manifest verwenden muss. Wie konfiguriert man denn die IDE so, dass sie das optimal unterstützt?

Finde ich hier Hilfe auf meine 1001 Fragen? Danke im voraus für eure Antworten. Vielleicht helfen die auch anderen Suchenden.

Grüsse
Uli
Er wollte so richtig in Delphi einsteigen. Nun steckt er ganz tief drin ...
  Mit Zitat antworten Zitat
johndoe049

Registriert seit: 22. Okt 2006
169 Beiträge
 
#2

AW: XE11 + High-DPI für blutige Anfänger

  Alt 20. Dez 2021, 23:35
Version 11 habe ich noch nicht installiert.

Ich hatte mal mit Lazarus ein Programm mit dynamischen Formularelementen. Da habe ich die Positionen und Grössen manuell berechnet, weil Lazarus da nicht richtig umgerechnet hatte.

Elemtsize = Positionswert vom Fenster, Element, etc, welches umgerechnet werden soll.

ceil(Elementsize/96*Screen.PixelsPerInch)

Beispiel: ceil(400/96*Screen.PixelsPerInch)

War mit Lazarus 2.0.6 geschrieben.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.446 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: XE11 + High-DPI für blutige Anfänger

  Alt 21. Dez 2021, 08:13
Finde ich hier Hilfe auf meine 1001 Fragen? Danke im voraus für eure Antworten. Vielleicht h
elfen die auch anderen Suchenden.
Dann stelle diese 1001 Fragen

Auch ich habe mich mit dem Thema schon beschäftigt. Hatte das Thema damals aber zurückgestellt. Inzwischen habe ich auch Delphi 11 und einen 4K Monitor. Meine Gedanken dazu:

1. Die Zahl 1001 halte ich für gar nicht so unrealistisch. Ein Demo Programm gibt es schon, wird dir aber nicht helfen.

2. Etwas als Beispiel für eine beliebige Fremdbibliothek zu nehmen wird nicht funktionieren. Du wirst nicht umhinkommen jede Bibliothek für sich zu prüfen und ggf. zu ersetzen. (Bei mir ist DevExpress das Problem)

3. Warum fragst Du hier in "Delphi-IDE"? Die IDE ist noch das kleinste Problem. (Wo gehören eigentlich UI-Themen rein?)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: XE11 + High-DPI für blutige Anfänger

  Alt 21. Dez 2021, 08:18
(Wo gehören eigentlich UI-Themen rein?)
https://www.delphipraxis.net/18-gui-...mmon-controls/
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
533 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: XE11 + High-DPI für blutige Anfänger

  Alt 21. Dez 2021, 08:52
Finde ich hier Hilfe auf meine 1001 Fragen? Danke im voraus für eure Antworten. Vielleicht helfen die auch anderen Suchenden.
Mir hat dieser Beitrag sehr geholfen.
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
UliBru

Registriert seit: 10. Mai 2010
155 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: XE11 + High-DPI für blutige Anfänger

  Alt 21. Dez 2021, 09:33
Vielen Dank für die ersten Antworten.

Kann die Moderation den Ort dieses Threads auf https://www.delphipraxis.net/18-gui-...mmon-controls/ umlegen?
Ich hatte hier nach High DPI gesucht und der gefundene Thread war eben bei der Delphi IDE.

Ich hab so irgendwie die Befürchtung das es mit dem seitens Emba so vielfach beworbenen Rapid Development nix wird.

Als Beispiel ein schlichter FileDialog bei Scaling 200%. Anbei das Aussehen beim Standardtheme Windows und dann beim von mir verwendeten Theme Iceberg Classico
Man beachte dann neben dem unterschiedlichen Aufbau dann die zu kleinen Symbole beim zweiten Theme.
Wenn ich dannn das nun alles zu Fuß nachbessern muss (muss ich dann aber auch erst können!) bin ich da ja mehr damit beschäftigt als mit dem eigentlichen Ziel des Programms.

Grüsse
Uli
Miniaturansicht angehängter Grafiken
screenshot-2021-12-21-092232.jpg   screenshot-2021-12-21-092419.png  
Er wollte so richtig in Delphi einsteigen. Nun steckt er ganz tief drin ...
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.611 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: XE11 + High-DPI für blutige Anfänger

  Alt 21. Dez 2021, 09:35
So richtig spaßig wird es erst, wenn mehrere Monitore mit unterschiedlicher Skalierung zum Einsatz kommen und der User dann ein Fenster der Anwendung zwischen diesen Monitoren bewegt. Nur so als Hinweis am Rande ...
Thomas Mueller
  Mit Zitat antworten Zitat
UliBru

Registriert seit: 10. Mai 2010
155 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: XE11 + High-DPI für blutige Anfänger

  Alt 29. Jan 2022, 10:56
Ich stelle so zwischenzeitlich fest, dass Delphi + High DPI irgendwie Marketinggeschwurbel ist.
Anders kann ich mir das nicht erklären, siehe Anhang
Miniaturansicht angehängter Grafiken
screenshot-2022-01-29-103656.png  
Er wollte so richtig in Delphi einsteigen. Nun steckt er ganz tief drin ...
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
677 Beiträge
 
Delphi 12 Athens
 
#9

AW: XE11 + High-DPI für blutige Anfänger

  Alt 30. Jan 2022, 02:43
Ich stelle so zwischenzeitlich fest, dass Delphi + High DPI irgendwie Marketinggeschwurbel ist.
Anders kann ich mir das nicht erklären, siehe Anhang
Dieses Phänomen habe ich, wenn ich meinen Laptop (HD) von der Dockingstation (4k+HD) trenne und auf Laptop arbeite ohne die IDE neu zu starten.
Roland
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.537 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: XE11 + High-DPI für blutige Anfänger

  Alt 30. Jan 2022, 18:32
So richtig spaßig wird es erst, wenn mehrere Monitore mit unterschiedlicher Skalierung zum Einsatz kommen und der User dann ein Fenster der Anwendung zwischen diesen Monitoren bewegt. Nur so als Hinweis am Rande ...
Jau, das merke ich auch gerade. Ich hatte bislang immer ein Testdevice mit einem Monitor (Mircrosoft Surface oder anderen PC mit High DPI-Monitor), daher ist mir diese (VCL-) Problematik bislang noch nicht aufgefallen.

Jetzt habe ich aber genau die von Dir beschriebene Situation: Mein Front-Monitor mit 2560x1440 Punkten und 125% Skalierung, während die alten daneben die üblichen 1980x1020 mit 100 DPI haben. Hatte bislang für VCL immer mit einer eigenen Lösung gearbeitet, welche die Imagelisten raufskalieren. Das funktioniert dann zwar auch ganz gut auf dem HighDPI Monitor, aber sobald man das Fenster auf einen anderen Monitor mit niedrigerer Auflösung zieht, sind die Images zu groß. Dem kann man entgehen, indem man für das Manifest "Systembekannt" wählt, dann stimmt das Programm auf dem HighDPI Monitor, auf dem normalen Monitor stimmen die Grafiken auch, aber das Bild ist insgesamt verwaschen.

Bleibt als Lösung wohl doch nur die Virtual Image List, die das dann jeweils passend skaliert.

Die FMX-Anwendungen sehen erfreulicherweise alle gleich gut aus, egal welche Auflösung oder Monitor-Auflösung.

Gibt es eigentlich einen Event für den Monitorwechsel? Denn unter Umständen muss man da noch anderes anpassen, wenn man selber irgendwo was wechselt...

Edit: Was ich gerade noch festgestellt habe: Mit Einstellung "Über Monitor" oder "Über Monitor v2" flackert das Fenster beim Wechsel auf einen anderen Monitor und die Anchor-Right-Werte für Controls, die Ihre Breite so steueren, stimmen dann nicht mehr.

Als Anlage mal 2 Screenshots zur Verdeutlichung: Bild "Vor Wechsel" zeigt das Fenster auf dem HighDPI Monitor, wie es OK ist. Dann ziehe ich das Fenster nur einmal auf einen anderen Monitor und ziehe es direkt wieder zurück, dann sieht es wie auf Bild "NachWechsel" aus (hab es farblich markiert, wo es nicht mehr stimmt).
Miniaturansicht angehängter Grafiken
vorwechsel.jpg   nachwechsel.jpg  

Geändert von Harry Stahl (30. Jan 2022 um 18:51 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:18 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