表示色設定ウィンドウのスケール不具合

  1. Kuroさん

    こんにちは。
    以下バージョンで掲題の状況が見られましたので、ご報告します。

    Mery: 3.7.1 (x64, Portable)

    ■再現手順

    1. 以下のマルチディスプレイ環境にする
    ディスプレイ1: スケール 125%
    ディスプレイ2: スケール 100%
    ※私の環境だと、ディスプレイ1: 1920x1200、ディスプレイ2: 2560x1440 ですが、おそらく解像度は影響しないと考えています。
    2. Meryをディスプレイ1で起動する
    3. オプション > 表示 > 適当な項目を選択 > [文字色] 項目の [...] ボタン をクリック
    4. 表示された表示色設定ウィンドウをディスプレイ2に移動する

    ■キャプチャ

    https://imgur.com/a/Rl4vuM5

     |  yuko  |  返信
  2. ご報告ありがとうございます。

    Mery では、ディスプレイごとに異なるスケールの環境に対応するために、Windows の Per-Monitor DPI という機能を利用しています。

    色選択ダイアログは、私が開発したものではなく、Windows 標準のコントロール (共通ダイアログと呼ばれます) を使用していますが、残念ながらそのコントロールは Per-Monitor DPI に対応していないようです。

    私の力では色選択ダイアログを Per-Monitor DPI に対応させることができませんので、マイクロソフトが対応してくれるのを待つしかありません。

    見たところ、色選択ダイアログの文字サイズや一部のパーツは Per-Monitor DPI に対応しているようですが、まだ完全に対応していないようです。途中で手を引いてしまったのかもしれませんが…😅

    最近では、Windows 標準の印刷ダイアログ (これも共通ダイアログのひとつです) が刷新されたこともありますので、色選択ダイアログもそのうちマイクロソフトが対応してくれる可能性はありますね。

     |  Kuro  |  返信
  3. 標準部品の不具合とのことで、承知しました。
    MicrosoftによるPer-Monitor DPIの長らく続く取り組みはいまだ途上ということですね…😅

    スケールが高い方のディスプレイに移動すればいつも通り操作ができて大きな支障はありませんので、今後に期待ということで様子見しておきたいと思います。ありがとうございました🙇‍♂️

     |  yuko  |  返信
  4. > MicrosoftによるPer-Monitor DPIの長らく続く取り組みはいまだ途上ということですね…😅

    Win32 アプリの Per-Monitor DPI 対応は後回しなのかもしれないですね。

    最近の Windows 標準アプリ、たとえば「ペイント」なんか、新しい色選択ダイアログが実装されているんですよ。

    将来的には Win32 アプリにも反映されるかもしれないって期待はできそうですが…

    > スケールが高い方のディスプレイに移動すればいつも通り操作ができて大きな支障はありませんので、今後に期待ということで様子見しておきたいと思います。

    何か方法はないかと調べてみたところ、ダイアログを開く直前に Per-Monitor DPI の設定を一時的に「システム DPI」に変更すると、色選択ダイアログがレガシー モードで表示できるみたいです。

    レガシー モードでは、古い Win32 アプリを使用した場合と同様に、画像として拡大されるだけなので、見た目はぼやけますが、レイアウトの崩れなどはありません。

    しかしながら、マイクロソフトは Per-Monitor DPI を推奨しているため、Windows の不具合に対するこのような対処はあまり良くないかもしれないです。

    やっぱり、マイクロソフトの対応を待つのが一番かな…

     |  Kuro  |  返信
スポンサーリンク