ホームページ > バックエンド開発 > C++ > システム認識に更新した後、私のDPI-Unawareアプリケーションが突然UIの歪みを示すのはなぜですか?

システム認識に更新した後、私のDPI-Unawareアプリケーションが突然UIの歪みを示すのはなぜですか?

Barbara Streisand
リリース: 2025-01-28 09:06:11
オリジナル
1005 人が閲覧しました

Why Does My DPI-Unaware Application Suddenly Exhibit UI Distortion After Updating to System Aware?

DPI認識:Windows BitMap Scaling(6.0)vs。System Aware(6.1)

このケーススタディでは、高DPIディスプレイ用のWindows BitMapスケーリングに依存するDPI-Unawareとして最初に設計されたアプリケーションを検証します。 バージョン6.1の更新により、DPIの認識がシステム認識に予期せず変更され、UIの歪みが生じました。

問題のトラブルシューティング

根本原因は、更新されたバージョンに新しく含まれているサードパーティコンポーネントです。 アプリケーションに固有のDPI不評価にもかかわらず、サードパーティのコンポーネントはDPI認識を導入しました。

dpi認識の管理

dpiの認識は、アプリケーションマニフェスト内で明示的に制御できます:

あるいは、Windows APIはプログラマティックコントロールを提供します:

<code class="language-xml"><application>
  <windowsSettings>
    <dpiAware>false</dpiAware>
  </windowsSettings>
</application></code>
ログイン後にコピー

solution
<code class="language-csharp">SetProcessDPIAware();
GetAwarenessFromDpiAwarenessContext(GetWindowDpiAwarenessContext(hWnd));</code>
ログイン後にコピー

dpi-unawarenessに戻すには、アプリケーションマニフェストにを追加します。 サードパーティのコンポーネントがDPIの認識を強制する場合は、

を追加して不要な動作をオーバーライドすることを検討してください。

以上がシステム認識に更新した後、私のDPI-Unawareアプリケーションが突然UIの歪みを示すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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