はじめまして VC初心者のひろといいます。
今壁にぶつかっています。
というのもダイヤログのCaptionは変更できたのですが、
そのフォントが変更できないのです。
ダイアログ自体のフォントはWindowsのシステムフォントを使用しているみたいなのです
が(手動で変更したら変わりました)、プログラム上(OnInitDialog内で)から変更で
きないのでしょうか?
よろしくお願いします。
CWnd::SetFont()について調べてみてください。
m_font.DeleteObject();
UpdateData();
// フォントを作成
m_font.CreateFont(16,0,0,0, FW_DONTCARE, FALSE,
FALSE,FALSE,SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DRAFT_QUALITY, DEFAULT_PITCH,
MS ゴシック);
UpdateData();
this->SetFont(&m_font);
上記のようにしてみたのですが、コンパイルは通るのですが、
実行すると変わらないんです。
ダイアログにSetFontしてもタイトルバーのフォントは変えられなかったと思います。
タイトルバーは、ダイアログのウインドウとは別のウインドウですし、
タイトルバー自身がダイアログの子供でなければ、ダイアログのフォントを変えても
変化は出ないでしょう。
タイトルバーのウインドウハンドルを取得できればフォントを変えることができるかも
しれませんが、大きなフォントを指定した場合にタイトルバーの幅がかわらなけば、
文字がはみ出てしまいます。そういう意味では出来たとしても無意味かなと言う気がします。
あと、特定のウインドウのタイトルバーだけフォントが違うと言うのも見た目上変な気が
しますし、OS側で設定する物なのでよっぽどのことが無い限りは変えないほうが無難という
気がします。