none
マルチディスプレイ(スケーリング)とWM_DPICHANGED RRS feed

  • 質問

  • VC++2019 MFCアプリケーション(Per-Monitor (V2) DPIマニフェストファイル)OS:Windows10 1607以降
    2つのディスプレイで「拡大縮小とレイアウト」それぞれ175%、150%で設定

    アプリケーションをディスプレイ間で移動したとき、WM_DPICHANGEDが通知され、
    そのタイミングで、スケーリングに合わせて、ウインドウのサイズを変更し、クライアント領域の再描画をするようににしてます。
    このウィンドウサイズの変更が問題で、大きくなったり、小さくなったりするので、
    各ディスプレイの領域を行ったり来たりすることになり、表現は正しくないですが、WM_DPICHANGEDの永久ループ的なことになります。
    ※実際は、移動中にウィンドウサイズが頻繁に変更され、急に通知が来なくなり、クライアント領域は真っ白のままです。

    ウィンドウサイズを変更する適切なタイミングがわかりません。

    教えてください。

    2022年9月21日 8:37

回答

  • WM_DPICHANGEDに随伴してきたlParamを使ってウインドウサイズを変更してます?
    それで無限ループになることはなかったハズ、

    jzkey

    • 回答としてマーク Brillia 2022年9月22日 0:40
    2022年9月21日 10:07