AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Windows 10 und DPI

Ein Thema von Roadmap · begonnen am 30. Jul 2015 · letzter Beitrag vom 3. Jul 2017
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Roadmap
Roadmap

Registriert seit: 28. Mai 2004
Ort: Sonthofen, Oberallgäu
16 Beiträge
 
Delphi 7 Architect
 
#1

Windows 10 und DPI

  Alt 30. Jul 2015, 11:33
Habe heute bei einem Test meiner Programme auf einem Windows 10 Tablet eine interessante Entdeckung gemacht. Ich habe bisher die Problematik von verschiedenen DPI-Zahlen bzw. Large Fonts mit folgendem Code im FormCreate gelöst:

Delphi-Quellcode:
  Scaled := False;
  if Screen.PixelsPerInch <> 96 then ScaleBy(Screen.PixelsPerInch, 96);
Der Effekt war klar, Scaling aus und wenn PixelsPerInc ungleich 96 DPI (100%) sind wird danach gescaled. Somit sah die App immer gleich aus egal was eingestellt war.

Das bis inkl. Win8.1 gut funktioniert, jetzt auf Windows 10 allerdings nicht mehr?! Auch bei den Einstellungen 125% oder 150% bringt die PixelsPerInch immer 96 als Ergebnis!

Kennt jemand den Grund bzw. eine Abhilfe?
--
Geht nicht gibt's nicht, geht schwer gibt's schon!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Windows 10 und DPI

  Alt 30. Jul 2015, 11:37
http://www.delphipraxis.net/186046-w...-new-post.html
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Roadmap
Roadmap

Registriert seit: 28. Mai 2004
Ort: Sonthofen, Oberallgäu
16 Beiträge
 
Delphi 7 Architect
 
#3

AW: Windows 10 und DPI

  Alt 30. Jul 2015, 11:47
Danke Markus für die schnelle Antwort, bin nicht auf die Idee gekommen im "Betriebssystem"-Bereich nach einer Lösung zu suchen

OK dann versuche ich mal zusammenzufassen, denn das dürfte ja dann einige Leute mit älteren Delphi-Applikationen betreffen.

Das Scaling in einer Delphi-Applikation bringt wohl erst mal nix mehr, da Windows hier einfach einen Override macht. Lösbar wäre das Ganze wohl nur mit einer Manifestdatei die den High DPI Awareness Level so setzt das es wieder passt. Nur hat jemand dazu ein Beispiel?
--
Geht nicht gibt's nicht, geht schwer gibt's schon!
  Mit Zitat antworten Zitat
Benutzerbild von Roadmap
Roadmap

Registriert seit: 28. Mai 2004
Ort: Sonthofen, Oberallgäu
16 Beiträge
 
Delphi 7 Architect
 
#4

AW: Windows 10 und DPI

  Alt 30. Jul 2015, 12:19
Also ich habe mir das nochmal angeschaut, das Ganze stellt sich so dar:

1. Bild: Das Fenster unter Win7 96DPI, so sollte es überall aussehen
2. Bild: Das Fenster unter Win10 mit 150% Scaling und Scaling:=True
3. Bild: Das Fenster unter Win10 mit 150% Scaling und Scaling:=False;

Angestrebt ist das es einfach überall gleich aussieht, nur Win10 scheint das Fenster jetzt immer zu scalen und die Inhalte dazu zu skalieren?!?

Weiss jemand Rat?
Miniaturansicht angehängter Grafiken
voila_capture-2015-07-30_12-11-35_nachm.png   voila_capture-2015-07-30_12-11-16_nachm.png   voila_capture-2015-07-30_12-12-38_nachm.png  
--
Geht nicht gibt's nicht, geht schwer gibt's schon!
  Mit Zitat antworten Zitat
Benutzerbild von Roadmap
Roadmap

Registriert seit: 28. Mai 2004
Ort: Sonthofen, Oberallgäu
16 Beiträge
 
Delphi 7 Architect
 
#5

AW: Windows 10 und DPI

  Alt 30. Jul 2015, 12:49
Jetzt nochmal die Ansicht unter Windows 7 mit 125% Scaling und dem gleichen Code. Der Fensterrahmen ist zwar vergrössert aber der Inhalt bleibt gleich. DAs möchte ich auch unter Windows 10 wieder erreichen!

So wie ich das sehe ist das Problem das WIndows 10 schon das Fenster an sich vergrössert (125%) des Originals inkl. der Controls und daraus dann die Interpolation entsteht, nur wie verhindere ich genau dieses Verhalten??
Miniaturansicht angehängter Grafiken
voila_capture-2015-07-30_12-47-52_nachm.png  
--
Geht nicht gibt's nicht, geht schwer gibt's schon!

Geändert von Roadmap (30. Jul 2015 um 13:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.592 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Windows 10 und DPI

  Alt 30. Jul 2015, 13:51
Du hast gar kein Manifest eingebunden (bei Delphi 7 die Unit XPMan einbinden oder das Manifest auf das Formular legen). Wie sieht es denn dann aus?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Roadmap
Roadmap

Registriert seit: 28. Mai 2004
Ort: Sonthofen, Oberallgäu
16 Beiträge
 
Delphi 7 Architect
 
#7

AW: Windows 10 und DPI

  Alt 30. Jul 2015, 14:56
Hallo Sebastian,

nein das XPMan(ifest) ändert an dem Verhalten gar nichts. Alleine das Fenster wird schon um 25% vergrössert dargestellt und alle Inhalte darin gescaled?!?!
--
Geht nicht gibt's nicht, geht schwer gibt's schon!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Windows 10 und DPI

  Alt 30. Jul 2015, 15:07
Und was ist, wenn es der Benutzer so haben will, weil er zum Beispiel sehbehindert ist?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Roadmap
Roadmap

Registriert seit: 28. Mai 2004
Ort: Sonthofen, Oberallgäu
16 Beiträge
 
Delphi 7 Architect
 
#9

AW: Windows 10 und DPI

  Alt 30. Jul 2015, 15:12
Luckie, ich verstehe Deinen Einwand! Allerdings ist es so das jedes meiner D7-Programme ohne das ich es will so ausgeführt wird. Unter Windows 7 war eben dies nicht der Fall, da es mit Scaled:=False komplett abgefangen werden konnte. Es mag sein, dass es auch Anwendnungszwecke dafür gibt, für den beschränkten Userkreis meiner Programm allerdings nicht. Zudem wäre es schön wenn ich da auch Einfluss darauf nehmen könnte wie mein Programm angezeigt werden könnte!

Doch nochmal zurück zum Thema: Es muss doch möglich sein, dieses Verhalten grundsätzlich abzustellen, jemand eine Idee?

Weiterhin ist es zumindest bei Windows 10 jetzt so, dass die Einstellung mit mehr als 96DPI (also 125% oder 150%) selbstständig von Windows bei der Installation gewählt wird, wenn dies als sinnvoll erachtet wird. Scheint eine Kombi aus Auflösung und Bildschirmgrösse zu sein, die das veranlasst.
--
Geht nicht gibt's nicht, geht schwer gibt's schon!

Geändert von Roadmap (30. Jul 2015 um 15:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.198 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Windows 10 und DPI

  Alt 30. Jul 2015, 16:57
Du musst im manifest einen neuen Eintrag ('ne GUID) für Win10 ergänzen (so wie auch ein Eintrag für W7, W8 nötig wäre).

Hier der Entsprechende Artikel: http://blogs.msdn.com/b/chuckw/archi...t-madness.aspx
Windows Vista - Eine neue Erfahrung in Fehlern.
  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 17:31 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