DPI Skalierung / Dialoge werden falsch dargestellt
-
Hallo,
wir betreuen ein sehr altes Produkt. Die meisten Probleme lassen sich immer durch Googlesuchen herausfinden aber diesesmal finde ich keine guten Informationen zu folgendem Problem.
Uns erreichen immer wieder Kundenbeschwerden das Dialoge falsch dargestellt werden. Hier fällt ins Auge das es sich meistens um Tablet, 2-1 Convertables oder Surface Geräte handelt. Also Tablets, bzw. Geräte mit kleiner Monitorgröße.
Die Probleme treten aber auch weiterhin an wenn der Monitor durch einen externen ersetzt und nur noch dieser an ist!
Normalerweise haben wir hier Kunden immer damit geholfen das wir die Skarlierung der GUI Elemente verstellt haben. Damit waren die Dialoge wieder sichtbar und der Kunde glücklich. Dies hilft aber bei den Tablets nicht mehr.
Also kommen wir zu meiner Frage. Hat Jemand schon Erfahrungen zu dem Thema gemacht und vielleicht gute Artikel dazu zur Hand? Gerade im Bezug auf Win32 Dialoge mit einfachen Controls usw.
Wir rufen auch nur mit GetDlgSize() die Größe ab und platzieren unsere Dialoge. Greifen also größtenteils auf das zurück was Windows ohnehin schon bietet.
-
Du meinst sowas?
https://msdn.microsoft.com/en-us/library/windows/desktop/dn469266(v=vs.85).aspx
Ist nicht trivial, wir hatten auch eine Weile damit zu kämpfen.
-
Was meinst Du speziell? Zeig mal ein Problembeispiel.
Wen man nur mit Dialog-Units arbeitet gibt es eigentlich gar keine Probleme. Weil nur die Fonts gemapped werden. In dem Moment in dem man mit Pixeln anfängt herum zu rechnen, oder die DPIs der Auflösung nicht berücksichtigt gibt es Probleme.
-
Hey,
das Problem lag ganz woanders. Auf Lenovo Geräten und bei Systemen welche von Win7 / 8 auf 10 upgraded wurden fehlt manchmal eine Font Zuweisung.
Wir verwenden noch sogenannte Bitmap Fonts und der von uns verwendete Font war auf den fehlerhaften System nicht mehr eingetragen.
Es waren aber andere Schriftgrößen eingetragen und so hat er immer den Font
+ Größe genommen welche am nächsten dran war. So sind zu kleine / zu große Texte entstanden.Grüße