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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ヤマシタ

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

#1

投稿記事 by ヤマシタ » 14年前

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

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

YuO
記事: 947
登録日時: 15年前
住所: 東京都世田谷区

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

#2

投稿記事 by YuO » 14年前

とりあえず,MSの公式ペーパーが出ています。
高 DPI 対応の Win32 アプリケーションを記述する

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

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

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

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

#3

投稿記事 by softya(ソフト屋) » 14年前

固定に出来ない事はないと思いますが、幅広く使ってもらうには出来れば対応したほうが良いかと思います。

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

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

[補足]
レイアウトが若干崩れるとしたらテキスト部分だと思いますがDLU単位の処理をしていないのではないでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る