VC.netを使ってMFCアプリを作ってます。OSはXpです。
メニューの文字がどうも小さいので大きくしたいのですが、
今のところWindowsの画面のプロパティのデザインで
メニューの文字サイズを9→12にしています。
これをプログラムでできないでしょうか?
出きれば影響範囲をアプリ内だけにしたいです。
他のアプリやWindowsのメニューはそのままにしたいです。
どうかご教授よろしくお願いします。
# MFCを使うなら、Microsoftがうたっている(うたっていた)
>「どんなアプリでも同じような見た目で、ユーザが操作に困らないように」
# を守らなきゃ。だから、
# ・フォントサイズなどは、いったんWindows側でユーザが設定してしまえば、
# どんなWinアプリも、そのフォントサイズに従う。
# これがMicrosoftの意図しているところなのでは?
# (ま、固定フォントなんてよくある話だけど)
私は「どんなアプリでも同じような見た目で...」は、
・ラジオボタンを見ただけで「この中の1つしか選択できないんだな」と思わせるよう刷
り込む。
・アプリケーションを終了させるために迷わずメニューバーの「ファイル」にカーソルを
合わせてしまうよう刷り込む。
...といったような趣旨だと思います。例えば弱視者対応などで一時的にフォントサイズ
を切り替えられるようにする、というニーズもあるかと思いますが、これはMicrosoftが
謳っている内容と相反しないと思います。
影響範囲をアプリ内に、ということであれば、
Windowsの画面のプロパティの設定値に関わらず、大きなフォントでメニュー表示する、
ということになると思いますが、
自身のアプリのメニューをオーナードローすることで実現できると思います。
>...といったような趣旨だと思います。例えば弱視者対応などで一時的にフォントサイズ
>を切り替えられるようにする、というニーズもあるかと思いますが、これはMicrosoftが
>謳っている内容と相反しないと思います。
そういう場合には、最初から大きいフォントサイズに設定されているでしょうから、
むやみに変更すると却って小さくなってしまう可能性すらあります。
私もREEさんの意見に賛成です。
基本的にはWindows側の設定に従うべきでしょう。
ユーザーは自分が使いやすい環境にWindowsの設定を変えているでしょうから
それに従った方が自然だと思います。
もし変えるとしてもWindowsの設定と指定したサイズの両方を簡単に切り替えられるように
しないとユーザーに不親切だと思います。
オーナードローかWindowsの設定に従うしかないのですね。
ありがとうございました。
逆のハマリもあります。
開発環境が1600x1200とかで、文字を大きくして見やすくしたところ、
800x600の環境で仕様すると文字が大きすぎて邪魔だ、とか。
自前で処理する場合、解像度なども考慮する必要がありそう。