ページ 11

デスクトップのカスタマイズによる、アプリのレイアウト崩れを防ぐ方法

Posted: 2012年3月08日(木) 15:41
by ヤマシタ
MFCを使用してダイアログアプリを開発しています。
Windowd7の設定でコントロール パネル->デスクトップのカスタマイズ->ディスプレイから
「画面上の文字を読みやすくします」で文字サイズを125%に変更するとアプリの画面レイアウトが一部崩れます。

これを回避するために、どのような設定でも小(100%)でアプリを表示させるようにアプリ側で設定することは可能でしょうか?
もしくは、アプリ側でどちらの設定が使用されているかを判定することは可能でしょうか?

Re: デスクトップのカスタマイズによる、アプリのレイアウト崩れを防ぐ方法

Posted: 2012年3月08日(木) 16:16
by YuO
とりあえず,MSの公式ペーパーが出ています。
高 DPI 対応の Win32 アプリケーションを記述する

上記を読む限り,自前で修正する必要があるようです。

----
2012-03-08T16:23+09:00 誤字修正 (条軌→上記)

Re: デスクトップのカスタマイズによる、アプリのレイアウト崩れを防ぐ方法

Posted: 2012年3月08日(木) 16:38
by softya(ソフト屋)
固定に出来ない事はないと思いますが、幅広く使ってもらうには出来れば対応したほうが良いかと思います。

「レイアウト メトリック」
http://msdn.microsoft.com/ja-jp/library/bb847924.aspx

リソースのサイズ単位はDLUと言う単位が使われています。
96 dpi (100%)が標準で、デスクトップのカスタマイズで120 dpi (125%)などに変化します。
対応方法は、YuOさんのリンク先を参考にして下さい。

[補足]
レイアウトが若干崩れるとしたらテキスト部分だと思いますがDLU単位の処理をしていないのではないでしょうか?