エディットボックス内でのフォントを変更するには?

解決


SHUN  2004-10-19 04:20:42  No: 54800  IP: [192.*.*.*]

お世話になります。
表題の件なのですが

CEdit* myED1=(CEdit*)GetDlgItem(IDC_MAIN_OUTPUT);
myED1->SetWindowText(str);

という具合にエディットボックスに文字を表示しています。
文字を表示するときにフォントを変更したいのですが、やり方が解りません。お願いします。

編集    削除
てつや  2004-10-19 17:33:59  No: 54801  IP: [192.*.*.*]

SetFontを使います。
引数にするCFontはダイアログのメンバにしておかないと、
スコープを抜けた時に消滅してしまい、うまく動きません。

PS.
Googleで "CEdit" "フォント" "変更"の3つのキーワードで検索できます。

編集    削除
SHUN  2004-10-19 22:16:33  No: 54802  IP: [192.*.*.*]

返信ありがとうございます。

早速検索して以下のように書いてみました

m_font.CreatePointFont(100, _T("FixedSys"));   
myED1->SetFont(&m_font);
myED1->SetWindowText(p);

上記の書き方だと文字は大きくなりましたがフォントが変化しません。
m_font.CreatePointFont(100, _T("FixedSys")); を  
m_font.CreatePointFont(140, _T("MS  ゴシック"));と
書いても変化しません。一体なにが原因なのでしょうか?

編集    削除
てつや  2004-10-20 00:49:09  No: 54803  IP: [192.*.*.*]

デフォルトが"MS ゴシック"なのではないでしょうか。
"MS 明朝"とかを指定してみたらどうですか。

編集    削除
SHUN  2004-10-20 01:49:51  No: 54804  IP: [192.*.*.*]

てつや殿

解決しました。***.rcのファイルを検索して変更しました。
別にCFont云々は今回は関係なかったのですが大変参考になりました。
ありがとうございます。

編集    削除