MessageBoxのフォントを大きくしたい

[戻る]
tib 2003/09/02(火) 21:13:33
相変わらずWinNT4.0sp6 + VC5.0sp3 + MFCという環境です。

現在AfxMessageBox()で実現しているポップアップメッセージの、メッセージ部分のフォ
ントをもっと大きくしてほしい、という要望を受けました。ダイアログクラスをひとつ
作って、置き換えればいいのでしょうが、数も多いし、ダイアログのスタイルを制御する
部分を作り込むのは面倒です。

どうにかしてAfxMessageBox()のフォントを制御する方法ってないでしょうか?

dairygoods 2003/09/03(水) 10:24:00
メッセージボックスのフォントを変える機能はありません。
メッセージボックスウィンドウを見つけてフォントを
強引に変える事はできるでしょうけど、
その場合、フォント変更によるサイズやボタン位置の調整などをせねばならず、
自分で作るのと大差ないと思います。

ちなみに、AfxMessageBox()の動作は、
CWinApp::DoMessageBox()をオーバーライドすることにより、
まとめて置き換えることができます。

> メッセージ部分のフォントをもっと大きくしてほしい、という要望を受けました。

自分で画面のプロパティを変更して好きなだけ大きくしてください。
ってのはダメなのかな(^^;

PATIO 2003/09/03(水) 11:00:08
私も自前のダイアログを作った方がいいと思います。
作りこんだ物を一つ用意しておけば、
後で再利用が出来ると思うので、
気合を入れて作りこむのも一案かと。

あとは、dairygoodsさんの言われている
「CWinApp::DoMessageBox()をオーバーライド」
で置き換えれば、丸ごと置き換え可能ですよね。

tib 2003/09/03(水) 19:04:50
[[解決]]
アドバイス、ありがとうございます。

> メッセージボックスのフォントを変える機能はありません
そうですか。残念ですが、自分でdialogクラスをひとつ気合を入れて作りこんだのち
「CWinApp::DoMessageBox()をオーバーライド」で新dialogに処理を切り替えるように切
り替えます。

> 自分で画面のプロパティを変更して好きなだけ大きくしてください。
> ってのはダメなのかな(^^;
それはラクな解決法ですが、残念ながら画面の大きさも仕様で決められているので、全体
のサイズを変えてしまうようなことはできないのです。

古いスレッドには追加発言できません。