如何改变CListCtrl控件字体

赤勇玄心行天道 2009-10-21 05:15:59
我想改列表控件设置成报表模式,想改变每一行的字体大小,请问有什么办法?最好是用一个设置字体对话框来修改字体的方法。
...全文
560 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gg606 2009-10-21
  • 打赏
  • 举报
回复
CFont * m_Font=m_ServerList.GetFont();
字体对象最好不要用临时的,设成类的成员变量!

m_Font->Detach(); //要这句啥意思?
  • 打赏
  • 举报
回复
CFont * m_Font=m_ServerList.GetFont();
LOGFONT LogFont;
m_Font->GetLogFont(&LogFont);
LogFont.lfHeight=10;//设置字体大小
m_Font->Detach();
m_Font->CreateFontIndirect(&LogFont);
m_List.SetFont(m_Font);

这样子是可以成功的,但是关闭程序的时候要报错,这是为什么?
  • 打赏
  • 举报
回复
我试了很久还是没有效果
panpengpeng 2009-10-21
  • 打赏
  • 举报
回复
在创建SetFont的参数CFont*的时候用LOGFONT来创建
CFont *m_Font;
m_Font->CreateFontIndirect(LOGFONT*);
然后再用SetFont(m_Font);
这样你再试试,因为系统原因,有的时候直接SetFont会达不到效果
  • 打赏
  • 举报
回复
SetFont这个函数是不行的,我试很多次了,如果哪位成功的话能发个代码行吗?
miaomiao1234121212 2009-10-21
  • 打赏
  • 举报
回复
http://www.vckbase.com/document/viewdoc/?id=1855
看看这个应该适合你
zoulie 2009-10-21
  • 打赏
  • 举报
回复
每一行字体哦度不相同的话,就要自绘CListCtrl了
Fireway2008 2009-10-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 cyz7758520 的回复:]
我想改列表控件设置成报表模式,想改变每一行的字体大小,请问有什么办法?最好是用一个设置字体对话框来修改字体的方法。
[/Quote]

让每一行的字体都不相同的话,仅仅用楼上的方法不行的。

应该设置好几个CFont对象,用CreateFont进行创建。
然后响应NM_CUSTOMDRAW,根据不同行进行不同字体的创建和放置。
liumenghappy 2009-10-21
  • 打赏
  • 举报
回复
楼上正解
feilinhe 2009-10-21
  • 打赏
  • 举报
回复
报表属性在空间的属性里设置就可以了,改变字体大小采用CListCtrl::SetFont就可以了
ziplj 2009-10-21
  • 打赏
  • 举报
回复

m_ListCtrl.SetFont(&m_ListFont);
getemail 2009-10-21
  • 打赏
  • 举报
回复
路过

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧