ListView具有如下的主要属性:ViewStyle为vsReport,RowSelect为Ture。
而且一个Item具有多个SubItem,这时,选择一个Item后当前行的颜色会发生改变,
其颜色为clActiveCaption。
我想让当前行的颜色改为其他的颜色,如何修改?
而且一个Item具有多个SubItem,这时,选择一个Item后当前行的颜色会发生改变,
其颜色为clActiveCaption。
我想让当前行的颜色改为其他的颜色,如何修改?
解决方案 »
- Pascal指针问题
- 请教怎么提高文件流的写入速度!(急,在线等待)
- 问个弱弱的问题,TChart如何实现只有Y轴放大缩小的效果
- pascal里指针加1如何表示?
- 怎样用TStringList表示数据结构中的"无向图"
- Delphi的菜鸟问题:real如何转为string???(急啊!)
- 请教api hook技术!
- 怎样处理数据库中的NULL?
- 请问listview中如何判断当前点击的的item的column是什么?小弟初学,望各位不吝赐教
- 高手请进!!!!!请问如何利用Delphi实现向Web数据库实现POST递交数据,请注意,本地MIS应用,非ISAPI,非CGI。
- 如何控制QReport的返回值 怎末控制用户点击“print”或"close" 的返回值
- 初学者问题,Deiphl怎么连接SQL数据库?在公司里大家一般是用什么方式来连接数据库的。
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
r: TRect;
i: Integer;
begin
with ListView1.Canvas do
if cdsSelected in State then begin
Brush.Color := clRed;
r := Item.DisplayRect(drLabel);
// Item
FillRect(r);
TextOut(r.Left+2, r.Top, Item.Caption);
// SubItem
for i := 0 to Item.SubItems.Count - 1 do begin
ListView_GetSubItemRect(ListView1.Handle, Item.Index, i+1, LVIR_LABEL, @r);
FillRect(r);
TextOut(r.Left+5, r.Top, Item.SubItems[i]);
end;
DefaultDraw := False;
end;
end;