2017-11-03 11 views
2

ユーザーは、表示されたテキストの縮尺を変更することができます(たとえば、Windowsの場合、設定→表示→テキスト、アプリケーションおよびその他のアイテムのサイズをと変更します) 。アプリケーションが画面のテキストサイズの変更で受け取るウィンドウ

このような変更を認識するためにどのようなウィンドウメッセージを処理する必要がありますか?

実際のフォントの高さによってサイズが異なるものがあります。しかし、サイズの調整は時間がかかりますので、私はそれぞれWM_PAINT到着時にそれらを実行したくないです。

+1

あなたのフォントのメトリックを 'WM_PAINT'でチェックするのはかなり簡単ですばやくなければなりません。 –

+0

@ MarkRansomので、最初のフォントの高さを 'WM_CREATE'に隠し、' WM_PAINT'の実際のフォントの高さと比較する必要があります。もし違いがあれば、 – Arhad

+1

私はあなたが 'WM_CREATE'で適切なフォントを使用できるか確信していませんので、最初の' WM_PAINT'が最初の測定を待つだけです。しかし、私はあなたがその考えを持っていると思います。 –

答えて

3

WM_DPICHANGED

ウィンドウの有効ドット数(dpi)が変更されたときに送信されます。 DPIはウィンドウの倍率です。
- このウィンドウは、異なるDPIを持つ新しいモニターに移動されます。
- ウィンドウをホストしているモニタのDPIが変更されます。

+0

このイベントはWindows XPでは発生しません。普遍的な解決策はありますか? – Arhad

関連する問題