- ベストアンサー
エディットボックスのフォントを変えたい
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のパラメータが間違っているのでしょうか? それとも、これら関数を呼び出す場所が間違っているのでしょうか? ご回答お待ちしております。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Senna_FFさんの回答とかぶりますが、SetFontで出来ます。 CreateFontの下に下記の一行を追加してみてください。 質問のCreatoFontは正しく動作していました。 IDC_EDITはフォントを変更したいエディットボックスのIDを入れてください。 GetDlgItem(IDC_EDIT)->SetFont(&m_font);
その他の回答 (1)
- Senna_FF
- ベストアンサー率45% (153/334)
デバイスコンテキストに対してでなく、 コントロールに対しての操作で可能です。 設定したいコントロールハンドルの、CWnd::SetFont()関数を使用して、作成したフォントを指定してください。
お礼
教えていただいた通りにやって文字を大きくすることが出来ました。ありがとうございました。
お礼
教えていただいた通りにやって文字を大きくすることが出来ました。私の拙いコードまでお試し頂き、ありがとうございました。