Page 88 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼Windows10のDPIスケーリング mirror 15/08/19(水) 17:39 ┗コントロールバーアイテムへのアクセス mirror 15/08/24(月) 15:50 ┗Re(1):コントロールバーアイテムへのアクセス Hi-M 15/08/25(火) 20:24 ─────────────────────────────────────── ■題名 : Windows10のDPIスケーリング ■名前 : mirror ■日付 : 15/08/19(水) 17:39 -------------------------------------------------------------------------
Windows10になって、若干変更されているようです システムが120DPI(125%)にスケーリング設定されている場合 旧来のWDM(Windows desktop manager)のスケーリング支援では 幾つかのAPIが返す座標値を、96DPI相当で比率演算していましたが Windows10では、DPI値120そのもので行えるようです つまり、システムが125%のスケーリング設定であった場合でも Jw_cadで発生している、ダイアログ表示不正や文字の字切れなどが DPI調整を行う事で、解消されるという事になります 旧来は、125%に限り調整できない状態でした |
コントロールバーアイテムを疑似パッドに展開して使っています http://1drv.ms/1JutL3G Windows10では、DPI有効125%でもスケーリング支援が使えるので DPI調整すると、コントロールバーの表示不正も無く適正なサイズとなり タッチ操作でも、若干使い易くなるように思います 私は、コントロールバーを表示せずに使っています 表示をしない事で、画面サイズを大きく使えるのが理由ですが 画面サイズが小さく、タッチ操作では位置移動が苦にならないので 使い慣れたコントロールバーを表示して使うのも良いかも知れません Autoモード・クロックメニューと組み合わせる事で 指でのタッチ操作を、更に使い易くできます |
▼mirrorさん: DPIスケーリングの話は単一な結果では実は話せないというのがMSDNの結論です。 Win8までは、スケーリングがOS単位なんですがWin8.1からは、モニタ単位のオプションがマニフェストに組み込まれたのが原因です。 Win8までは DPIスケーリングは、「する」と「しない」がマニフェストに埋め込まれましたが、Win8.1からは「する」と「する(モニタ単位)」と「しない」の3つになりました。 Win8.1からは実質「する(モニタ単位)」マニフェストxml命令としては"True/PM"を指定しないと、実質的にDPIスケーリングが効きません。 MSDNの資料には、hDCから物理分解能を取得するGetLogicalPixcelを叩けとあるので、これを追従することでモニタ単位のスケーリング情報として描画情報の制御をするのが正道と思いますが、現実的にはJw_cadも最新のレンダリング技術のサポートし、改良の作業中であるのは、たぶん間違いないので(^^;... jw_cadはおいといて、このあたりのモニタごとにDPI分解能の違う設定をしたマルチモニタのWindos10環境で、ウィンドウをモニタごとに引っ越すと、機種によっては、思わぬ動作をします。 ちなみに、自分の推測ですが、xmlメンバの"True/PM"はDPIスケーリング有効+per-Moniter かな?と思っています、 |