我想让更改过的listview的那些items变颜色,我这里所说的更改是指subitem中发生的更改,比如有5条items,我对其中的3条中的某些column修改了,要让着3条记录变成其他的颜色,该怎么做?(详细代码),谢谢!

解决方案 »

  1.   

    你需要一个特定的标识来确定是哪个记录发生了改变,例如根据ImageIndex来区分。需要ListView的CustomDrawItem事件和CustomDrawSubItem事件,代码如下:  case Item.ImageIndex of
        0:lsvpictureList.Canvas.Brush.Color :=RGB(227,227,255); //淡紫
        1:lsvpictureList.Canvas.Brush.Color :=RGB(237,237,202); //淡黄
        2:lsvpictureList.Canvas.Brush.Color :=RGB(220,235,220); //淡绿
        3:lsvpictureList.Canvas.Brush.Color :=RGB(187,187,187); //淡灰
      end;这样该条记录的背景色就会发生改变。