Heim >Backend-Entwicklung >C++ >Warum wurde meine DPI-Bewusstseinsanwendung plötzlich DPI-bewusst?
unerwartetes DPI-geachtetes Verhalten in Anwendungsaktualisierungen
Eine zuvor bekannte Anwendung wurde in einer späteren Veröffentlichung unerwartet von DPI-bewusst und verursachte UI-Probleme. Trotz der fehlenden expliziten DPI -Einstellungen im Anwendungsmanifest und der Stütze auf Windows -Bitmap -Skalierung änderte sich die DPI -Handhabung der Anwendung zwischen den Versionen. Diese Untersuchung zeigt, dass für diese Verschiebung Bibliotheken von Drittanbietern verantwortlich sind.
DPI -Bewusstsein erklärt
Windows -DPI -Bewusstsein bestimmen, wie sich eine Anwendung an verschiedene Bildschirmauflösungen und Skalierungsfaktoren anpasst. Es sorgt für die Klarheit der Benutzeroberfläche über verschiedene Displays hinweg. DPII-Bewusstseinsanwendungen hängen von Windows Skaling ab, während DPI-bewahrte Anwendungen die Skalierung intern verwalten.
Ursache Ursache Analyse: Die Rolle von Komponenten von Drittanbietern
Die Annahme, dass das Fehlen von DPI-Einstellungen in standardmäßig zu dpi-nicht bekannt ist. Das Einbeziehen von DPI-bewusstes Drittanbieter-Komponenten kann dies überschreiben, wodurch die gesamte Anwendung DPI-bewusst wird, sofern sie nicht ausdrücklich verhindert werden. app.manifest
Lösungen zur Wiederherstellung von DPI-Beachtensverhalten
Versuchen Sie die folgenden Lösungen, um in den DPI-Beachten-Modus zurückzukehren:
<dpiaware>
. false
.
SetProcessDPIAware
, um das Verhalten von DPI-Beachten zu erzwingen. SetProcessDpiAwarenessContext
[assembly: System.Windows.Media.DisableDpiAwareness]
hinzu, um zu verhindern, dass Drittanbieter-Komponenten automatisch das DPI-Bewusstsein aktivieren. AssemblyInfo.cs
Das obige ist der detaillierte Inhalt vonWarum wurde meine DPI-Bewusstseinsanwendung plötzlich DPI-bewusst?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!