TListView重绘问题

void __fastcall TMainForm::ListView1CustomDrawSubItem(
  TCustomListView *Sender, TListItem *Item, int SubItem,
  TCustomDrawState State, bool &DefaultDraw)
{
  if(Item->SubItems->Count < 13)
  return;

  if(Item->SubItems->Strings[12] != "正常")
  {
  Sender->Canvas->Brush->Color=clSkyBlue;
  Sender->Canvas->Font->Color=clWhite;
  }
  else
  {
  Sender->Canvas->Brush->Color=clWhite;
  Sender->Canvas->Font->Color=clBlack;
  }
}
上面的代码在执行时每次只刷新了几个子项的颜色而不是涮洗整行颜色,而且第一列从来不被刷新颜色?可鼠标选中后再涮新就是整行颜色变化。
此外如何能重绘TListView的表头?

作者: bj_leo_2000   发布时间: 2011-06-15

改用VT吧,我几乎不再已使用TListView了。

作者: Jonix   发布时间: 2011-06-15