在ListView中如何实现Item的不同字体?

whinformation 2001-07-31 04:54:41
在同一个ListView中如何实现Item的不同字体?比如有些Item是粗体四号正楷字,有些是一般的小四号宋体字。
...全文
253 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangledong 2001-08-09
  • 打赏
  • 举报
回复
我不知到修改那个但是你在修改ListView的Font的字体大小,她的行高度自动就和你设置的字体高度相同了,我觉的你可以按你的要求设置一个最大的。
whinformation 2001-08-09
  • 打赏
  • 举报
回复
ListView的各Item初始行高度如何定?修改哪个属性?
wangledong 2001-08-09
  • 打赏
  • 举报
回复
void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender,
TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
if ( Item->Index == 0 )
{
ListView1->Canvas->Font->Color = clRed;
ListView1->Canvas->Font->Style = TFontStyles()<< fsBold;
ListView1->Canvas->Font->Size = 12;
ListView1->Canvas->Font->Name = "宋体";

}
if ( Item->Index == 1 )
{
ListView1->Canvas->Font->Color = clGreen;
ListView1->Canvas->Font->Style = TFontStyles() << fsUnderline;
ListView1->Canvas->Font->Size = 10;
ListView1->Canvas->Font->Name = "黑体";
}
}
注意:ListView的列高度是不能够调节的,所有的列必须是同一宽度的,所以小心显示不下啊!这回满意了吧!
whinformation 2001-08-08
  • 打赏
  • 举报
回复
这两天网络有问题,没及时给分,请谅解。
给ddeng(登登) 和 wangledong(快乐的程序员) 各10分。
我的意思是问:能不能给不同的Item设置不同的字体大小?照你们所说好像是不能哦。
whitelion 2001-08-05
  • 打赏
  • 举报
回复
学习
polygame 2001-08-05
  • 打赏
  • 举报
回复
好东东。。
gqxs 2001-08-05
  • 打赏
  • 举报
回复
学习
wangledong 2001-08-05
  • 打赏
  • 举报
回复
你直接设置字体就可以了,但是告诉你LISTVIEW的格的高度必须是一样的,小心你显示不下呀!
实现字体变化,你在设
ListView1->Canvas->Font->Size = 12;
ListView1->Canvas->Font->Name = "宋体";
随你的便了!
whinformation 2001-08-02
  • 打赏
  • 举报
回复
字体的大小要求变化呀,这个实现了马上给分。
ExitWindows 2001-08-01
  • 打赏
  • 举报
回复
up
wangxd 2001-08-01
  • 打赏
  • 举报
回复
ddeng(登登) : wangledong(快乐的程序员) 说的对,该给分了
FANGAO 2001-08-01
  • 打赏
  • 举报
回复
收藏
nofeal 2001-08-01
  • 打赏
  • 举报
回复
up~~agree
bluebutterfly 2001-08-01
  • 打赏
  • 举报
回复
应当给分了呀,做为人家劳动的回报
wangledong 2001-08-01
  • 打赏
  • 举报
回复
void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender,
TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
if ( Item->Index == 0 )
{
ListView1->Canvas->Font->Color = clRed;
ListView1->Canvas->Font->Style = TFontStyles()<< fsBold;

}
if ( Item->Index == 1 )
{
ListView1->Canvas->Font->Color = clGreen;
ListView1->Canvas->Font->Style = TFontStyles() << fsUnderline;
}
}
ExitWindows 2001-07-31
  • 打赏
  • 举报
回复
up
ddeng 2001-07-31
  • 打赏
  • 举报
回复
写OnCustomDrawItem事件:
示例(第一层的用粗体,其它用斜体):
void __fastcall TForm1::TreeView1CustomDrawItem(TCustomTreeView *Sender,
TTreeNode *Node, TCustomDrawState State, bool &DefaultDraw)
{
if(Node->Level==0) {
TreeView1->Canvas->Font->Style = TFontStyles() << fsBold;
}
else {
TreeView1->Canvas->Font->Style = TFontStyles() << fsItalic;
}
}
chzhli186858 2001-07-31
  • 打赏
  • 举报
回复
我来学习一下

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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