我现在已获得Listview中文字内容,但其中有个关键内容是通过字体颜色来标示的。但 LVM_GETTEXTCOLOR 消息只能获得整个Listview 的字体颜色,我想获得的是每个item 的字体颜色。
请各位大侠赐教。
多谢。

解决方案 »

  1.   

    procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
    var
        i:integer;
        str:string;
        ctemp:Array[0..8] of char;
    begin
          if (Item.Index mod 2) = 1 then Sender.Canvas.Brush.Color := $ECECEC;
          if (Item.Index mod 2) = 1 then Sender.Canvas.Font.Color := clRed;
          //i:=Sender.Canvas.Brush.Color;      //取每行的颜色
          i:=Sender.Canvas.Font.Color;      //取每行的颜色
          str:=IntToHex(i,4);
          Item.SubItems[2]:= str;
    end;
      

  2.   

    在CustomDrawItem 中
    i:=Sender.Canvas.Font.Color;      //取每行字体的颜色
      

  3.   

    至于某个cell,那你就在ListView1CustomDrawSubItem里自由发挥吧。