Delphi-PRAXiS

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/)
-   -   Firemonkey und 150 % DPI (https://www.delphipraxis.net/180023-firemonkey-und-150-dpi.html)

Darlo 17. Apr 2014 09:07

Firemonkey und 150 % DPI
 
Hallo zusammen,

kennt jemand eine Möglichkeit wie ich die Skalierung verhindern kann wenn der User unter Windows eine 150 % Ansicht eingestellt hat?
Aktuell kann man kein Label lesen...

Gruß

Sherlock 17. Apr 2014 09:10

AW: Firemonkey und 150 % DPI
 
Welche Windows Version? Unter 8.1 gibt es da was in den Properties...eventuell sogar eine Möglichkeit im Manifest. Andererseits sollte man nicht mit solchen Krücken rumlavieren, sondern das Problem an der Wurzel packen. Oder ist FM in der Hinsicht auch buggy? :(

Sherlock

Darlo 17. Apr 2014 09:16

AW: Firemonkey und 150 % DPI
 
Unter Windows 7. Rechtsklick auf die Exe -> Eigenschaften -> Kompatibilität -> Skalierung bei hohem DPI-Wert deaktivieren klappt leider nicht.

EDIT:
Unter Windows 7 klappt es, unter Vista nicht

Sherlock 17. Apr 2014 09:23

AW: Firemonkey und 150 % DPI
 
Das sieht wie Dein Problem aus
http://stackoverflow.com/questions/2...gh-dpi-windows
sieht aber auch so aus, als gäbe es keine Lösung :(

Sherlock

himitsu 17. Apr 2014 09:37

AW: Firemonkey und 150 % DPI
 
Ich selber kenn das Problem nur aus der VCL, in älteren Delphis vor XE.

Bei mir ist es so, dass Windows zu Anfang auf 125% eingestellt war
und ich es dann auf 100% runterregelte (ist halt blöd, daß der Wert für alle Monitore gilt).
irgendwie scheint es, als wenn sich irgendwo noch eine 125% versteckt, welche vorallem Java-Programme erwischen.
Es ist fast wie mit den halbzerschossenen FormatSettings in deutschen vorinstallierten Windowsversionen, wo Delphi dann das Falsche erwischt.


Delphi kommt damit klar, aber vorallem Java-Programme und auch einiges Anderes dreht nun völlig durch.
Im Grunde sollte es ja nun nicht mehr skaliert sein, aber z.B. Java stellt jetzt alles extrem klein dar, so daß man da kaum noch was lesen kann.


Wo es im Delphi massive Probleme gibt (bis mindestens XE3), wenn man ein Projekt auf mehreren Rechnen entwickelt und es dabei natürlich versioniert ...
Delphi skaliert dann die DFMs, womit sich da ständig was ändert, wenn man das Projekt mit einer anderen DPI einfach nur läd und wieder abspeichert.
Der gespeicherte DPI-Wert in der DFM wird aktialisiert und alle Maße werden ebenfalls umgerechnet. Wenn etwas bei 100% nicht genu durch 4 Teilbar ist, wird dabei dessen Position/Größe/Breite/Schriftgröße natürlich leicht verschoben. (4 bei 125% und 2 bei 150%)
Und in der Versioniert hat man den Spaß, weil die "wirklichen" Änderungen in der Masse untergehen.

Bernhard Geyer 17. Apr 2014 09:48

AW: Firemonkey und 150 % DPI
 
Zitat:

Zitat von himitsu (Beitrag 1255968)
Bei mir ist es so, dass Windows zu Anfang auf 125% eingestellt war
und ich es dann auf 100% runterregelte (ist halt blöd, daß der Wert für alle Monitore gilt).
irgendwie scheint es, als wenn sich irgendwo noch eine 125% versteckt, welche vorallem Java-Programme erwischen.
Es ist fast wie mit den halbzerschossenen FormatSettings in deutschen vorinstallierten Windowsversionen, wo Delphi dann das Falsche erwischt.

Auch nach Reboot? Ohne Reboot ist das so das Windows selbst nicht genau weiß mich welchen DPI-Einstellungen es arbeiten soll. Diverse Teile von Anwendungen nehmen den Alten, andere Teile die neuen Werte.


Zitat:

Zitat von himitsu (Beitrag 1255968)
Wo es im Delphi massive Probleme gibt (bis mindestens XE3), wenn man ein Projekt auf mehreren Rechnen entwickelt und es dabei natürlich versioniert ...
Delphi skaliert dann die DFMs, womit sich da ständig was ändert, wenn man das Projekt mit einer anderen DPI einfach nur läd und wieder abspeichert.

Bei uns ist die Vorgabe 100%! Es reicht schon das Win7/Win8 aufgrund der Fensterbreiten hier kleine unterschiede Provoziert.

DateTimeError 17. Apr 2014 09:57

AW: Firemonkey und 150 % DPI
 
Vielleicht hilft das?

http://blogs.msdn.com/b/developingfo...namics-gp.aspx

himitsu 17. Apr 2014 12:20

AW: Firemonkey und 150 % DPI
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1255969)
Auch nach Reboot?

Ich hatte das vor knapp 2 Jahren umgestellt und ich glaub seit dem wurde schon mehrfach neu gestartet. :angel:

Das mit der Fensterbreite Rahmen-/Titelleistenbreite wurde eigentlich irgendwann umgestellt.
Inzwischen sollte Delphi da ClientWidth und ClientHeight bei den Fenstern speichern, anstatt Width und Height inkl. der Rahmen.

Darlo 17. Apr 2014 12:41

AW: Firemonkey und 150 % DPI
 
Erstmal danke für die Antworten:

Jetzt ist erstmal Vista nur mit 100 % DPI supported....

Harry Stahl 18. Apr 2014 16:35

AW: Firemonkey und 150 % DPI
 
Zitat:

Zitat von Darlo (Beitrag 1256014)
Erstmal danke für die Antworten:

Jetzt ist erstmal Vista nur mit 100 % DPI supported....

Wobei man zumindest auch die 125% Variante unterstützen sollte, denn die wird durchaus öfter mal verwendet. Anwender, die es auf 150% verwenden, dürften äußerst selten sein, aber auch das ist zur Not machbar.

Bevor ich mir hier wieder einen Wolf schreibe, habe ich zu diesem Thema mal ein kurzes Video gemacht. Es beschreibt u.a. mit welcher Auflösung man am Besten entwickelt, wie man unterschiedliche Auflösungen testet und auch zur Laufzeit noch auf die Anzeige Einfluss nehmen kann.

Hier ist der Link zum Video: http://youtu.be/D4ZW7BjKfhA

Insider2004 21. Apr 2014 01:54

AW: Firemonkey und 150 % DPI
 
[QUOTE=Harry Stahl;1256180]
Zitat:

Zitat von Darlo (Beitrag 1256014)
Erstmal danke für die Antworten:


Hier ist der Link zum Video: http://youtu.be/D4ZW7BjKfhA

reife Leistung!

himitsu 21. Apr 2014 08:51

AW: Firemonkey und 150 % DPI
 
Wobei in der VCL eigentlich nicht nur die Texte skaliert werden, sondern auch die größe der Komponenten, oder sah das in der FMX-Demo jetzt nur so komisch aus.
[edit] OK, fertiggeguckt und die Texte wurden unabhängig/einzeln angepasst.

Aber dennoch muß man etwas aufpassen, denn Texte sind verhältnismäßig unterschiedlich lang, bei unterschiedlichen Textgrößen.
(außer man lässt den Text über Antialiasing immer gleich darstellen, aber solche Texte kann man bei wenigen Pixeln pro Buchstabe kaum noch lesen)

Sherlock 22. Apr 2014 07:47

AW: Firemonkey und 150 % DPI
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das sieht nach verdammt viel Arbeit aus...und leider ist mir das zu viel. Aus zwei Gründen:
1) Nach den ganzen Anpassungen sieht die Anwendung unter 100% ziemlich...sagen wir mal aufgeräumt aus. Kurz: Leer
2) Wieso bekommt es Delphi nicht von selbst gebacken? Als Hilfestellung kann man ja die Komponenten mit der Align-Property aufeinander ausrichten, dann sollte doch alles erledigt sein, oder ist das eine grobe Fehleinschätzung?

Zusammengefasst: Nach nunmehr 10 Jahren, die ich die Scaled Property kenne, habe ich noch keine Delphi-Anwendung gesehen, die ohne solche manuellen Klimmzüge, gescheit skaliert. Aber: Das gilt für so gut wie alle Non-Delphi-Anwendungen genauso... bis hin zu MS-Office (Version 2013 bekommt unter Win 8.1 Multi-Monitor das hübsch hässliche BitmapScaling - siehe Anlage).

Ich lehn mich also entspannt zurück und empfehle der werten Kundschaft größere Monitore.

Sherlock


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