2016-12-06 14 views
3

実行時に "High-DPi"と "High-DPiでない"の切り替えが可能ですか?私が理解する限り、それはマニフェストファイルで決定され、High-DPiアプリまたはHigh-Dpiアプリを持つことはできますが、両方を持つことはできません。私は正しい?実行時に高dpiを変更するDelphi

答えて

3

これは実行時にSetProcessDpiAwareness機能を使用して指定できます。または、モニタごとのDPI認識を先行する古いオペレーティングシステムの場合は、SetProcessDPIAwareがあります。

慎重にドキュメントをお読みください。広範なガイドラインとして、これらの関数を使用しないことをお勧めします。マニフェストでこの状態を指定することをお勧めします。実際にSetProcessDpiAwarenessまたはSetProcessDPIAwareを使用する必要があるのは異常なアプリケーションでしょう。

少なくとも、プロセスの生涯で非常に早くコールを行う必要があります。 Windowsはコールを早期に発生させたいだけでなく、VCLがプロセスのライフタイムの途中でポリシーの変更にうまく対処するように設計されていないことを期待しています。

関連する問題