procedure Tw_kzqzt.ListView1CustomDrawSubItem(Sender: TCustomListView; Item: TListItem; SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean); begin if SubItem<>3 then Exit; if Item.SubItems[2]='通讯失败' then self.ListView1.Canvas.Font.Color:=clRed; if Item.SubItems[2]='通讯成功' then Self.ListView1.Canvas.Font.Color:=clBlue; if Item.SubItems[2]='' then Self.ListView1.Canvas.Font.Color:=clWindowText; Self.ListView1.Canvas.Refresh; end; 注:这里的subitem是从1开始的,而不是从0开始的