如何在TLISTVIEW控件里改变某一行字的颜色

解决方案 »

  1.   

    希望大家赐教哦,我是从VB刚转DELPHI。
      

  2.   

    可以改变的,ListView提供了OnCustomDrawItem等事件。
    procedure TForm1.lv1CustomDrawSubItem(Sender: TCustomListView;
      Item: TListItem; SubItem: Integer; State: TCustomDrawState;
      var DefaultDraw: Boolean);
    begin
      if SubItem=1 then
        Sender.Canvas.Brush.Color:=clblue
      else
        Sender.Canvas.Brush.Color:=clgray;
    end;
    就可以改变。
    具体你可以参考一下delphi的Demo
    (Virtual listview)
      

  3.   

    procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
    begin
      if Odd(Item.Index) then
        Sender.Canvas.Brush.Color:=clblue
      else
        Sender.Canvas.Brush.Color:=clgray;
    end;
      

  4.   

    if Odd(Item.Index) then
       begin
        Sender.Canvas.Brush.Color:=clInfoBk;
        Sender.Canvas.Font.Color:=clblue;
        exit;
        end
        else
        Sender.Canvas.Brush.Color:=clSkyBlue;
        sender.canvas.Font.Color:=clred;
      

  5.   

    要是动态改的话,只好画出来了,用ListView1的Canvas
      

  6.   

    回复人: WGYKING(修罗是谁?!) ( ) 信誉:102  2004-10-09 00:50:00  得分: 0  
     
     
       学习 >>> WoKao~~ 
     
    ===========================================================================樓主,如果我的代碼能解決問題的話,把分加給WGYKING(修罗是谁?!)