怎的让listview按条件显示不同颜色

怎样让listview按条件显示不同颜色?
数据库 id  neirong(内容) biaozhi (标志,1or2,用来控制颜色);

原来简要代码如下
procedure tform1.listview1reflash;//查询数据库,显示到listview
 var
   myitem:Tlistitem;
   query:tadoquery;
begin
   listview1.clear;
   query :=tadoquery.create(nil);
   query.connection :=form1.adoconnection;
   query.sql.text := 'select * from sjk ';
   query.open;
         while not query.eof do
         begin
           biaozhi := trim(query.fieldbyname('biaozhi'),asstring);
           if biaozhi = '1' then listview1.canvas.font.color :=clred;
           
           myitem := listview2..tems.add;
           myitem.caption : trim(........);
           myitem.subitems.add(...);
           .
           .
           end;
           query.next;
         end;
end;
 
------解决方案--------------------
canvas
------解决方案--------------------
listview的 CustomDrawItem 事件
lv2CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  //不同标志的列用不同的颜色
  if Item.SubItems[1] = '不变' then
      Item.ListView.Canvas.Font.Color := clBlack
  else if Item.SubItems[1] = '修改' then
      Item.ListView.Canvas.Font.Color := clFuchsia
  else if Item.SubItems[1] = '删除' then
      Item.ListView.Canvas.Font.Color := clRed
  else  //新增
      Item.ListView.Canvas.Font.Color := clBlue;
end;