社区
C++ Builder
帖子详情
ListView的小问题
xiexiaoyudc
2003-09-15 09:53:32
怎么才能把ListView做的列表里各行根据某些条件显示为不同的颜色,我是在ListView里用listitem里添加行的,我试的,但只能把整个列表的背景颜色一块改了,高手谢谢了
...全文
36
13
打赏
收藏
ListView的小问题
怎么才能把ListView做的列表里各行根据某些条件显示为不同的颜色,我是在ListView里用listitem里添加行的,我试的,但只能把整个列表的背景颜色一块改了,高手谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sun_wyz
2003-09-15
打赏
举报
回复
这个问题问过无数遍了,建议楼主提问之前先搜索一下!!
crii
2003-09-15
打赏
举报
回复
ListView On CustomDrawSubItem() 就可以辣。
xiexiaoyudc
2003-09-15
打赏
举报
回复
我是在数据库里查找,根据某些条件把行显示为不同颜色,这样清楚了吗
tccsdn
2003-09-15
打赏
举报
回复
晕啊,楼上的这么快,难怪帖子半天提交不上来
tccsdn
2003-09-15
打赏
举报
回复
你的问题不是很清楚,如果是一行的话,有个OnDrawItem事件可以画,如果是一行中的其中一列就应该比较麻烦了
ccrun.com
2003-09-15
打赏
举报
回复
再给你一段代码,是我程序中用到的一部分。
void __fastcall TFormMain::LVCustomDrawItem(TCustomListView *Sender,
TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
//将LV中可能有错的地方涂色
if(Item->SubItems->Strings[2]!="" && Item->SubItems->Strings[3]!="")
{
if((Item->SubItems->Strings[8].ToInt()!=0) || (Item->SubItems->Strings[9].ToInt()!=0))
{
LV->Canvas->Brush->Color=(TColor)RGB(0xFF,0xFF,0x00);//可能出现错误,用黄色代表。
}
else
{
LV->Canvas->Brush->Color=(TColor)RGB(0x0,0xFF,0x00);//如果正确用绿色代替。
}
}
}
tccsdn
2003-09-15
打赏
举报
回复
你的问题不是很清楚,如果是一行的话,有个OnDrawItem事件可以画,如果是一行中的其中一列就应该比较麻烦了
tccsdn
2003-09-15
打赏
举报
回复
你的问题不是很清楚,如果是一行的话,有个OnDrawItem事件可以画,如果是一行中的其中一列就应该比较麻烦了
ccrun.com
2003-09-15
打赏
举报
回复
以上只是隔行不同颜色的例子。如果要做到根据不同的Item来决定不同的颜色,还是在ListView的CustomDrawItem中:
void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender,
TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
int Index = Item->Index;
if (Index == 0)
ListView1->Canvas->Brush->Color = (TColor)0x808080;
else if(Index == 1)
ListView1->Canvas->Brush->Color = (TColor)0xB0B0B0;
else if(Index == 2)
ListView1->Canvas->Brush->Color = (TColor)0xE0E0E0;
else
ListView1->Canvas->Brush->Color = clWhite;
ListView1->Canvas->Pen->Color = clWindowText;
}
ccrun.com
2003-09-15
打赏
举报
回复
以上只是隔行不同颜色的例子。如果要做到根据不同的Item来决定不同的颜色,还是在ListView的CustomDrawItem中:
void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender,
TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
int Index = Item->Index;
if (Index == 0)
ListView1->Canvas->Brush->Color = (TColor)0x808080;
else if(Index == 1)
ListView1->Canvas->Brush->Color = (TColor)0xB0B0B0;
else if(Index == 2)
ListView1->Canvas->Brush->Color = (TColor)0xE0E0E0;
else
ListView1->Canvas->Brush->Color = clWhite;
ListView1->Canvas->Pen->Color = clWindowText;
}
boat2002w
2003-09-15
打赏
举报
回复
void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender,
TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
if (Item->Index%2 != 0)
ListView1->Canvas->Brush->Color = (TColor)RGB(210,240,240);
else ListView1->Canvas->Brush->Color = (TColor)RGB(240,240,240);
}
ccrun.com
2003-09-15
打赏
举报
回复
ListView的例子
void __fastcall TMainForm::ListView1CustomDrawItem(
TCustomListView *Sender, TListItem *Item, TCustomDrawState State,
bool &DefaultDraw)
{
if ( ListView1->ViewStyle == vsReport )
if (Item->Index%2 != 0)
ListView1->Canvas->Brush->Color =(TColor)0x9cfb9c;
}
tccsdn
2003-09-15
打赏
举报
回复
好象比较难哦,用STRINGGRID方便一点
android中
listview
的item滑动删除效果(已解决
listview
点击
问题
)
android中
listview
的item滑动删除效果,已解决
listview
点击
问题
android
listview
控件复用
问题
解决
andorid
listview
由于复用控件的
问题
,再布局上使用checkbox时会造成选中状态错乱的
问题
,该项目可以解决该
问题
横向
ListView
的完整实现 包含基于横向
listview
做的一个小相册demo
横向
ListView
的完整实现 包含基于横向
listview
做的一个小相册demo 具体过程参见:http: blog csdn net yanzi1225627 article details 21294553
ListView
下拉更新功能
仿新浪微博的
ListView
下拉更新功能
android
listview
包含内容 横向
listview
微信
listview
x
listview
优化
C++ Builder
13,822
社区成员
102,680
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章