Maison >développement back-end >C++ >Comment puis-je corriger le texte flou dans mon application Windows Forms à des paramètres DPI élevés?
Le rendu de texte net dans les applications de formulaires Windows High-DPI
Les paramètres DPI élevés (150% et plus) peuvent provoquer un texte flou dans les applications Windows Forms en raison du mécanisme de mise à l'échelle par défaut de Windows. Pour obtenir un rendu de texte clair, votre application doit déclarer explicitement sa compatibilité à haute teneur en DPI. Cela se fait en modifiant le manifeste de l'application ou en utilisant un appel p / invoqué.
Méthode 1: Modification du manifeste de l'application
<code class="language-xml"><?xml version="1.0" encoding="utf-8"?> <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <assemblyIdentity name="MyApplication.app" version="1.0.0.0" /> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <requestedExecutionLevel level="asInvoker" uiAccess="false" /> </requestedPrivileges> </security> </trustInfo> <application> <windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <dpiAware>true</dpiAware> </windowsSettings> </application> </assembly></code>
Méthode 2: Utilisation de p / invoquer pour les déploiements de clics
Pour les déploiements de clics, ajoutez le code suivant à votre méthode Main()
:
<code class="language-csharp">[STAThread] static void Main() { if (Environment.OSVersion.Version.Major >= 6) SetProcessDPIAware(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); // Adjust as needed } [System.Runtime.InteropServices.DllImport("user32.dll")] private static extern bool SetProcessDPIAware();</code>
En implémentant l'une ou l'autre méthode, votre application gérera correctement la mise à l'échelle DPI, assurant un affichage de texte net sur les écrans haute résolution.
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!