![]() |
Delphi Programme Schriftvergrößert obwohl nicht aktiv
Ich habe bei einem Kunden ein Hewlett Packard Notebook und unsere Delphi Programme werden dort so angezeigt, als wäre die 125% Vergrößerung aktiv, was sie aber nicht ist. Ich habe auch einmal eine Routine geschrieben die das erkennt und eine Info ausgibt und diese springt auch nicht an.
Jemand schon einmal das gehabt und eine Lösung dafür? Ich weiß nicht mal genau wo nach ich suchen muss im Netz :lol: |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Zitat:
AFAIK haben wir das auch bei 1-2 Kunden und bin hier Planlos was der eigentliche Fehler ist. |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Die Funktion sagt nur das im System die Schriftvergrößerung aktiv ist und das man dadurch das Programm evtl nicht korrekt bedienen kann.
Code:
da diese nicht anspringt bedeutet da die DPI auf 96 stehen müsste. Aber unsere Programm sehen aus wie bei 125%.
// Überprüft ob die DPI Einstellung auf 96 sitzt. 96 ist die Normalegröße
// Bei allem darüber ist die Bildschirmvergrößerung aktiviert function isFormSizeNormal:boolean; var dc: hdc; begin dc:= GetDC(0); Result:=(GetDeviceCaps(dc, LOGPIXELSX)=96); ReleaseDC(0, DC); end; Schaltet man auf 125% dann ändert sich nichts. Es wird also nicht noch größer. |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Ich bin mir nicht ganz sicher ob das Mist ist was ich schreibe, aber die dPI ist doch die Bildschirmauflösung und hat mit der eingestellten Schriftgröße wenig bis gar nichts zu tun?
Ciao Stefan |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Die Schriftvergrößerung im System verändert alles. GUI Elemente werden ebenfalls größer, aber nicht die Formgröße.
Es ist nicht nur das ändern von der Windows Schriftart von 10 auf 12. Damit werden Elemente nach rechts und unten verschoben und sind evtl auf der Form nicht mehr sichtbar. |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Zitat:
Ich denke nein! Ciao Stefan |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Das Problem hat aber NUR unser Delphi Programm. Alle andere Programme drumherum inkl Windows wird korrekt angezeigt.
Daher meine Frage wie man das lösen kann. |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Ich habe eben mal Deinen Codeschnipsel hier eingebaut, mit Größe von Apps, Text und anderen Elementen auf 100% bekomme ich hier mit Deinem
Delphi-Quellcode:
GetDeviceCaps(dc, LOGPIXELSX)
120 dPI, was sich auch nicht ändert wenn ich dann auf 125% oder 150% hochgehe! Ciao Stefan |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Ich hab 0 Plan worauf du hinaus willst und ich vermute es hat mit meinem ursprünglichen Problem auch nichts zu tun.
Mein Codeschnippsel soll nur ein Hinweis für uns und den Kunden sein, wenn er die Vergrößerung im System aktiviert hat. |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Zitat:
Und bei dem betroffenen Kunden wird es so sein dass der halt immer 96 dPI zurückliefert, egal ob 100%, 125% oder 150%! Ciao Stefan |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
96 dpi ist nicht irgendein Standardwert. Wenn ein Monitor eine Diagonale von 10cm bei eine Auflösung von 1080p hat, dann hat er eine deutlich höhere dpi als 100cm bei 1080p. Und alles was dazwischen liegt weicht ebenso in der Regel von den 96 dpi ab.
Die Abfrage darauf ist meiner Meinung nach also grundlegend falsch. Sherlock |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Zitat:
|
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Das OS behält die native Auflösung und skaliert eventuell, sonst wird es ja unscharf bis kriminell hässlich. Was folgt ist: Die DPI bleiben, was sich ändert ist der Skalierungsfaktor (100%, 125% etc). In FMX gibt es:
![]() Da kann man dann alle Beteiligten abfragen. In VCL weiss ich das Pendant leider nicht auf die Schnelle. Sherlock |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
96 dpi ist zwar meines Wissens die Standard-Einstellung bei Windows, die kann aber (vor allem bei Notebooks) abweichen, da die oft auch spezielle Auflösungen haben. Darum ist das pauschale Abfragen auf 96 dpi wohl wirklich keine gute Idee.
Wir hatten mit Delphi < Berlin ein Problem, dass Forms teilweise nicht korrekt skaliert wurden. Das ließ sich durch
Delphi-Quellcode:
ChangeScale(Screen.PixelsPerInch, 96);
im FormCreate beheben. Hilft das eventuell? |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Moin...:P
@stalkingwolf: Ein Tipp für deine Funktion für die Anzeige der Auflösung. 8-) Zitat:
siehe: ![]() Zitat:
|
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Mir ist ehrlich gesagt die Funktion egal
Die hatte ich wegen Bernhard Geyer gepostet. Mir geht es darum warum die Delphi Programme ( und nur die Delphi Programme ) falsch dargestellt werden und was ich dagegen unternehmen kann. |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Zitat:
|
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Um welche Delphi-Version geht es überhaupt? Hast du das von mir mal probiert?
|
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Zitat:
Bestehen die Probleme denn auch unter Windows 10? |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Hallo,
Zitat:
Bei High-DPI-Monitoren versucht Windows, die Anwendung selber hochzuskalieren, wenn das Programm ihm nicht, per Manifest, sagt, dass es das selber kann. Ändern würde ich das erst mal unter den Eigenschaften der Verknüpfung. |
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Ok danke. Werde ich testen, sobald der Kunde wieder erreichbar ist.
|
AW: Delphi Programme Schriftvergrößert obwohl nicht aktiv
Ich habe einmal mit meinem Surface die Programm getestet und hier bin ich mir nicht sicher ob Windows 10 nicht das ganze regelt. Die Programme werden skaliert. Schriftarten sind dadurch etwas verwaschen, aber die Anzeige ist korrekt.
Öffne ich eine RDP Sitzung auf einen Windows 7 Rechner ist alles ultra klein, in der Registry stehen dann 96DPI. Lokal sind es 144DPI. Nachtrag : ich habe dpiawarenessenabler ( ![]() Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz