カンパ〜イ!←最初の1杯目、なに頼む?

MFCで作ったダイアログ上の他のコントロールはいじらずに、
エディットボックスのフォントだけを大きく変えたいのですが、
行間が変わらない為か、文字の下のほうが切れてしまいます。

色々試してみていますが、どうしても出来ません。

元のダイアログのフォントは12ptです。

OnInitDialog関数内で、
CFont m_font;(メンバ変数)に以下を設定し、
m_font.CreateFont( 20, 0, 0, 0, FW_SEMIBOLD, FALSE, FALSE, 0, SHIFTJIS_CHARSET, OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,DEFAULT_PITCH | FF_DONTCARE, "MS P ゴシック" );

OnCtlColor関数内で、該当エディットボックスの場合だけ
pDC->SelectObject( &m_font );
しています。

CreateFontのパラメータが間違っているのでしょうか?

それとも、これら関数を呼び出す場所が間違っているのでしょうか?

ご回答お待ちしております。

A 回答 (2件)

こんにちは。



Senna_FFさんの回答とかぶりますが、SetFontで出来ます。
CreateFontの下に下記の一行を追加してみてください。
質問のCreatoFontは正しく動作していました。
IDC_EDITはフォントを変更したいエディットボックスのIDを入れてください。


GetDlgItem(IDC_EDIT)->SetFont(&m_font);
    • good
    • 0
この回答へのお礼

教えていただいた通りにやって文字を大きくすることが出来ました。私の拙いコードまでお試し頂き、ありがとうございました。

お礼日時:2005/11/08 13:47

デバイスコンテキストに対してでなく、


コントロールに対しての操作で可能です。
設定したいコントロールハンドルの、CWnd::SetFont()関数を使用して、作成したフォントを指定してください。
    • good
    • 1
この回答へのお礼

教えていただいた通りにやって文字を大きくすることが出来ました。ありがとうございました。

お礼日時:2005/11/08 13:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A