ホームページ > バックエンド開発 > C++ > なぜ私のDPI-Unawareアプリケーションが突然DPI-Awareになったのですか?

なぜ私のDPI-Unawareアプリケーションが突然DPI-Awareになったのですか?

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

Why Did My DPI-Unaware Application Suddenly Become DPI-Aware?

アプリケーションの更新における予期しないdpi-awareの動作

以前のDPI-Unawareアプリケーションは、後のリリースで予期せずDPIAREとなり、UIの問題を引き起こしました。 アプリケーションの明示的なDPI設定が不足しているにもかかわらず、Windowsビットマップスケーリングに依存しているにもかかわらず、アプリケーションのDPI処理はバージョン間で変更されました。 この調査では、サードパーティライブラリがこのシフトに責任がある可能性があることが明らかになりました。

dpi認識が説明されています

Windows DPI認識は、アプリケーションがさまざまな画面解像度とスケーリング要因にどのように適応するかを決定します。 さまざまなディスプレイにわたってUIの明確さを保証します。 dpi-unawareアプリケーションは、Windowsのスケーリングに依存しますが、DPI-AWAREアプリケーションは内部的にスケーリングを管理します。

根本原因分析:サードパーティコンポーネントの役割にDPI設定が存在しないことがDPI-Unawareにデフォルトであるという仮定が正しくありません。 DPI-AWAREサードパーティコンポーネントを含めることは、これをオーバーライドすることができ、明示的に防止されない限り、アプリケーション全体をDPI-AWAREにします。 DPI-Unawareの動作を復元するためのソリューションdpi-unawareモードに戻すには、これらのソリューションを試してください:

app.manifest

アプリケーションマニフェストを変更する:アプリケーションマニフェストファイルで

に明示的に設定します。

    Windows APIを使用します:
  • Windows API呼び出しを使用してを使用してdpi-unawareの動作を強制します。 <dpiaware>false自動DPI調整を無効にする:
  • 属性をに追加して、サードパーティのコンポーネントがDPIの認知度を自動的に有効にするのを防ぎます。 SetProcessDPIAwareこれらの方法は、アプリケーションのDPI認識を手動で制御し、一貫した動作を確保します。

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

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