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>
<code class="language-csharp">SetProcessDPIAware(); GetAwarenessFromDpiAwarenessContext(GetWindowDpiAwarenessContext(hWnd));</code>
dpi-unawarenessに戻すには、アプリケーションマニフェストにを追加します。 サードパーティのコンポーネントがDPIの認識を強制する場合は、
を追加して不要な動作をオーバーライドすることを検討してください。以上がシステム認識に更新した後、私のDPI-Unawareアプリケーションが突然UIの歪みを示すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。