Maison > développement back-end > C++ > Pourquoi ma demande est-elle soudainement devenue DPI-AWARE dans différentes versions?

Pourquoi ma demande est-elle soudainement devenue DPI-AWARE dans différentes versions?

Mary-Kate Olsen
Libérer: 2025-01-28 09:02:11
original
119 Les gens l'ont consulté

Why Did My Application Suddenly Become DPI-Aware Across Different Releases?

DPI Perception de différentes versions de l'application de différentes versions

Certaines applications peuvent des changements de perception DPI inattendus peuvent se produire entre différentes versions. Cette différence peut être attribuée à des facteurs externes, tels que les changements dans l'utilisation de composants ou d'environnements de développement de troisième partie.

Dans le cas spécifique mentionné dans le texte, bien que la perception du DPI ne soit pas clairement définie dans la liste des applications, et l'API Windows liée à DPI n'est pas directement appelée, l'application devient la perception du DPI dans la version suivante. Cela est susceptible de contenir un composant troisième de la perception DPI, qui introduit la perception du DPI dans l'application.

Afin de résoudre ce problème, les solutions suivantes peuvent être prises en compte:

Exprimant la perception de DPI

dans Visual Studio 2015-upd.1 ou plus, en annulant les commentaires de la partie et en le définissez sur FALSE pour déclarer la perception du DPI dans la liste des applications.

    ou, utilisez la fonction API Windows (telle que setProcessDpiaware ou setProcessDPiawnesssssssssssContex).
  • Désactiver la perception automatique du DPI

Ajouter des attributs au fichier assemblyinfo.cs pour désactiver la perception automatique du DPI du composant externe référencé par l'ensemble de programme WPF.

Autres précautions
  • [assembly: System.Windows.Media.DisableDpiAwareness]
Tous les composants de troisième partie et les dépendances externes utilisées dans l'application sont également perçues par DPI.

Si la perception du DPI provoque le problème de l'interface, envisagez de repenser l'application à traiter explicitement la mise à l'échelle DPI ou d'utiliser une fonction SetThreadPiawenessContext basée sur le thread pour zoomer dans des composants spécifiques tout en maintenant les composants restants.
  • Voir la documentation de Microsoft pour en savoir plus sur la perception du DPI:
  • Développement d'applications de bureau DPI élevé sur Windows

  • Définissez la perception DPI par défaut du processus

      Mode mixte DPI Zoom et DPI Perception API

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal