Delphi-PRAXiS
Seite 2 von 2     12   

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/)
-   -   Mit Delphi den Skalierungsfaktor herausfinden (https://www.delphipraxis.net/191954-mit-delphi-den-skalierungsfaktor-herausfinden.html)

Frickler 9. Mai 2017 08:15

AW: Mit Delphi den Skalierungsfaktor herausfinden
 
Zitat:

Zitat von uligerhardt (Beitrag 1370680)
Hallo!

Ich kämpfe auch gerade mit dem Thema. Da ich auf D2007 festgenagelt bin, kann ich die neuen, monitorspezifischen APIs nicht (ohne Weiteres) nehmen. Aber wenn ich meine beiden Monitore (Laptop und extern) auf 125% gestellt habe, sollten Screen.PixelsPerInch und GetDeviceCaps(DC, LOGPIXELSX) doch 120 ergeben? Ich kriege aber bei beiden 96. Ich habe in Windows 10 die Einstellung "Größe von Text, Apps und anderen Elementen ändern" genommen - das ist die Variante, die sofort, ohne Neuanmeldung, wirkt.

Ist es nicht so, dass bei Windows 10 Programmen, die nicht per Manifest kundtun, pro Monitor skalieren zu können, einfach 96 dpi vorgegaukelt werden? Und Windows skaliert dann selbst.... gibt diesen "fusseligen" Look.

Bernhard Geyer 9. Mai 2017 08:25

AW: Mit Delphi den Skalierungsfaktor herausfinden
 
Hast du den Manifest erweitert das auch für Windows 10 dein Anwendung nicht "als zu dumm zum eigenen Scallieren" betrachtet wird?

uligerhardt 9. Mai 2017 08:26

AW: Mit Delphi den Skalierungsfaktor herausfinden
 
Zitat:

Zitat von Frickler (Beitrag 1370686)
Zitat:

Zitat von uligerhardt (Beitrag 1370680)
Hallo!

Ich kämpfe auch gerade mit dem Thema. Da ich auf D2007 festgenagelt bin, kann ich die neuen, monitorspezifischen APIs nicht (ohne Weiteres) nehmen. Aber wenn ich meine beiden Monitore (Laptop und extern) auf 125% gestellt habe, sollten Screen.PixelsPerInch und GetDeviceCaps(DC, LOGPIXELSX) doch 120 ergeben? Ich kriege aber bei beiden 96. Ich habe in Windows 10 die Einstellung "Größe von Text, Apps und anderen Elementen ändern" genommen - das ist die Variante, die sofort, ohne Neuanmeldung, wirkt.

Ist es nicht so, dass bei Windows 10 Programmen, die nicht per Manifest kundtun, pro Monitor skalieren zu können, einfach 96 dpi vorgegaukelt werden? Und Windows skaliert dann selbst.... gibt diesen "fusseligen" Look.

Upps. Nö. Das wird's dann wohl sein. :oops:

Update: Ich hab mal testhalber schnell SetProcessDPIAware aufgerufen und schon klappt's.
Update 2: ...aber nur nach einem Neustart.

uligerhardt 15. Sep 2017 10:38

AW: Mit Delphi den Skalierungsfaktor herausfinden
 
Hallo zusammen!

Ich krieg langsam die Krise! Jetzt klappt's (anscheinend :mrgreen:) unter W10.
Dafür hab ich (seit kurzem?) unter W7 ein neues Problem. Dort kriege ich scheinbar nur bis 125% korrekte Werte für LOGPIXELSX/Y geliefert.
Mal als Tabelle:
Code:
    | 100%  125%    150%
----+-------------------------------------------------------------------------
W7  | 96x96 120x120 96x96
W10 | 96x96 120x120 144x144
Der Wert für 150% unter W7 sollte mMn auch 144x144 sein, ist er aber nicht. Laut unserer Tester ist es auch mit 133% falsch. :wall:
Hat jemand ne Idee, was ich jetzt wieder falsch gemacht habe?

Edit: Scheint das zu sein: https://stackoverflow.com/questions/...l-shows-96-dpi

Sherlock 15. Sep 2017 10:47

AW: Mit Delphi den Skalierungsfaktor herausfinden
 
Mir gehts genauso...nur mit Windows-macOS-iOS. Ich überlege langsam fixe Werte anzunehmen...

Sherlock

uligerhardt 15. Sep 2017 10:59

AW: Mit Delphi den Skalierungsfaktor herausfinden
 
Zitat:

Zitat von Sherlock (Beitrag 1381276)
Mir gehts genauso...nur mit Windows-macOS-iOS. Ich überlege langsam fixe Werte anzunehmen...

Sherlock

Beruhigend, dass ich nicht als einziger leide. :mrgreen::thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr.
Seite 2 von 2     12   

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