有的listitem符合某条件,要求让它们与众不同的显示出来,这可以通过改变字体颜色
来达到,可是好像listitem没有这个方法,应该怎么做?

解决方案 »

  1.   

    在listview的CustomDrawItem事件中写如下代码:
    procedure TFqh_tj_ji1.LVexploitCustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
    begin
      if Item.SubItems[1] = 'True' then Item.ListView.Canvas.Font.Color := clRed
      else Item.ListView.Canvas.Font.Color := clBlue;
    end;
      

  2.   

    不是这样的阿,我的listitem已经固定了,
    现在需要根据左边树节点的不同让不同的listItem突出来。
      

  3.   

    你可以先设置 ListView1.Checkboxes := True;之后再通过循环处理.//根据左边树节点的不同,设置listitem的状态
      for i := 0 to ListView1.Items.Count - 1 do
      begin
        Flag := 根据左边树节点设置此变量.
        ListView1.Items.Item[i].Checked  := Flag;
      end;  
    //不同的listItem突出来
      for i := 0 to ListView1.Items.Count - 1 do
        if ListView1.Items.Item[i].Checked then
        begin
         // 你对符合的进行处理
        end;