ホームページ >バックエンド開発 >C++ >High DPI設定でWindowsフォームアプリケーションでぼやけたテキストを修正するにはどうすればよいですか?

High DPI設定でWindowsフォームアプリケーションでぼやけたテキストを修正するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-02-03 01:16:09432ブラウズ

How Can I Fix Blurry Text in My Windows Forms Application at High DPI Settings?

high-dpi Windowsフォームのアプリケーションでレンダリングするシャープなテキスト

DPIの高設定(150%以上)は、Windowsのデフォルトスケーリングメカニズムにより、Windowsフォームアプリケーションでぼやけたテキストを引き起こす可能性があります。 明確なテキストレンダリングを実現するには、アプリケーションが高DPIの互換性を明示的に宣言する必要があります。 これは、アプリケーションマニフェストを変更するか、p/invokeコールを使用して行われます。

メソッド1:アプリケーションの変更マニフェスト

    プロジェクトに新しい「アプリケーションマニフェストファイル」を追加します
  1. 内容物を次のXMLに置き換えます:
<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>
メソッド2:ClickOnceの展開にp/invokeを使用

clickOnceの展開については、次のコードを

メソッドに追加します:

Main()

いずれかの方法を実装することにより、アプリケーションは高DPIスケーリングを正しく処理し、高解像度の画面にシャープなテキスト表示を確保します。

以上がHigh DPI設定でWindowsフォームアプリケーションでぼやけたテキストを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。