• ベストアンサー

エディットボックスのフォントを変えたい

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のパラメータが間違っているのでしょうか? それとも、これら関数を呼び出す場所が間違っているのでしょうか? ご回答お待ちしております。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

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

fruipa
質問者

お礼

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

その他の回答 (1)

  • Senna_FF
  • ベストアンサー率45% (153/334)
回答No.1

デバイスコンテキストに対してでなく、 コントロールに対しての操作で可能です。 設定したいコントロールハンドルの、CWnd::SetFont()関数を使用して、作成したフォントを指定してください。

fruipa
質問者

お礼

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

関連するQ&A

専門家に質問してみよう