大家新年好:
  怎樣制定listview中行的背景顏色或者字體顏色呀?

解决方案 »

  1.   

    listView的OwnerDraw应该设置为True
    其他的一样修改,如果修改背景色的在 procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
    begin
       ListView1.Canvas.Brush.Color:=clBlue;//背景
       ListView1.Canvas.Font.Color:=clWhite;//字体
    end;
      

  2.   

    可是為什么我把OwnerDraw設置為true 后
    在運行類似
          items := RzListView1.Items.Add;
          items.Caption := fieldbyname('dh').AsString; //送貨單
          items.SubItems.Add(fieldbyname('sj').AsString); //時間
          items.SubItems.Add(fieldbyname('ddhm').AsString); //訂單編號
          items.SubItems.Add(fieldbyname('hplb').AsString); //貨品分類
    代碼時﹐只有items.capion 有顯示在listveiw﹐其他都為空
      

  3.   

    procedure TFm_Main.ListView1AdvancedCustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
      var DefaultDraw: Boolean);
    begin
       try        
              If item.SubItems[0] = '提示!' Then//条件
              Listview1.Canvas.Font.Color := clBlue; //$00FFB3B3颜色
       Except
       end;
    end;