要使ListView中的某些行颜色不一样应该怎么做?
要使ListView中的某些行颜色不一样应该怎么做?有没有哪个控件是可以每行以不同颜色显示的,DBGrid、stringgrid类除外

解决方案 »

  1.   

    Procedure DrawLV(Listview: TListview; Item: TListItem; Color1, Color2: TColor; Def: Boolean = true);
    Var
      Frect: TRect;
    Begin
      Frect := Listview.BoundingRect;
    //  Frect:=item.ListView.BoundsRect;
      If Def Then
        Begin
          If (item.Index Mod 2) = 0 Then
            Listview.Canvas.Brush.Color := Color1 //$00FFB3B3
          Else
            Listview.Canvas.Brush.Color := Color2; //$00FFB3B3
        End
      Else
        Listview.Canvas.Brush.Color := Color1; //$00FFB3B3
      Listview.Canvas.FillRect(Frect);
    End;Procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
      Var DefaultDraw: Boolean);
    Begin
      DrawLV(listview1, item, $00EEF7FF, clWhite);End;-----------------------------------------------------------------
    我是中国鹰派!
    拒绝日货!打倒小日本!