ホームページ > バックエンド開発 > C++ > WindowsアプリケーションをハイDPI画面にサクサクしたテキストを表示するにはどうすればよいですか?

WindowsアプリケーションをハイDPI画面にサクサクしたテキストを表示するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-02-03 01:31:09
オリジナル
930 人が閲覧しました

How Can I Make My Windows Applications Display Crisp Text on High-DPI Screens?

高dpi Windowsアプリケーションでの鮮明なテキストレンダリングの達成

高解像度ディスプレイは、Windowsアプリケーションに課題を提示します。スケーリングされたインターフェイスは、しばしばぼやけたテキストにつながります。これは、WindowsのビットマップベースのDPI仮想化の結果です。 これを解決し、鋭いテキストを確保するには、アプリケーションは高DPI設定を処理する能力を明示的に宣言する必要があります。

高DPI互換性の有効化:マニフェストアプローチ

ソリューションには、アプリケーションのマニフェストファイルの変更が含まれます。 アプリケーションがHigh DPIをサポートするというWindowsに

要素信号を追加します。 必要なマニフェストコードは次のとおりです <dpiaware>

<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>
ログイン後にコピー
代替:プログラマティックアプローチ(ClickOnce Deployments)clickOnceの展開の場合、メソッド内でを使用できます。

SetProcessDPIAware()Visual Studio 2015 Update 1以降:Main()

Visual Studioの新しいバージョン(2015年の更新1以降)これを簡素化します。 マニフェストファイルは新しいプロジェクトに含まれています。単に
<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>
ログイン後にコピー
タグ

概要:

アプリケーションdpi-awareを宣言することにより(マニフェストまたは<dpiaware>を介して)、WindowsのDPI仮想化の制限をバイパスします。これにより、High-DPI画面での鋭くスケーラブルなテキストレンダリングが保証され、ユーザーエクスペリエンスが大幅に向上します。

以上がWindowsアプリケーションをハイDPI画面にサクサクしたテキストを表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート