リストコントロールのフォントサイズ – プログラミング – Home

リストコントロールのフォントサイズ
 
通知
すべてクリア

[解決済] リストコントロールのフォントサイズ


NOBUO
 NOBUO
(@NOBUO)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

ダイアログ上にレポート形式のリストコントロールを置いて、
そのフォントサイズを大きくしようと思っています。
ダイアログのOnInitDialogで

LOGFONT logfont;
GetFont()->GetLogFont(&logfont);
logfont.lfHeight *= 2;
m_font.CreateFontIndirect(&logfont); //m_fontはCFont型メンバ
m_list.SetFont(&m_font); //m_listはCListCtrl型メンバ

とやってみたところ、たしかにリストコントロールの
フォントサイズは大きくなったのですが、
ヘッダの文字まで大きくなってしまいます。

ヘッダ部分はそのままで、リスト内のフォントサイズのみを
大きくしようと思ったら、簡単には行かないものでしょうか?


引用未解決
トピックタグ
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

リストコントロールはヘッダコントロールを子供として持っているので
リストコントロールにフォントを設定してヘッダコントロールのフォントが変わるのは
むしろ当然だと思います。(変わらない方が変なのでは。)
もしも、どうしてもヘッダコントロールの部分だけフォントを変えたいのであれば、
リストコントロールにフォント設定した後、
リストコントロールから内部のヘッダコントロールのポインタを取得して
ヘッダコントロールには別のフォントを設定するくらいしか考え付かないです。


返信引用
NOBUO
 NOBUO
(@NOBUO)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

ヘッダ部分も自分でフォントを指定できたのですね。

LOGFONT logfont;
GetFont()->GetLogFont(&logfont);
m_fontHeader.CreateFontIndirect(&logfont); //m_fontHeaderはヘッダ用のCFont型メンバ
logfont.lfHeight *= 2;
m_font.CreateFontIndirect(&logfont); //m_fontはCFont型メンバ
m_list.SetFont(&m_font); //m_listはCListCtrl型メンバ
m_list.GetHeaderCtrl()->SetFont(&m_fontHeader);

とヘッダ用のフォント(GetLogFontで持ってきた状態のまま)も別途用意しておき、
リストビューのフォントを変更した直後に元のフォントをセットしなおすことで、
思っていたように変更できました。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました