字体变色?
在OnDrawColumn事件中写入,用画布去修改!

解决方案 »

  1.   

    在paradox数据库中可以实现斑马线,但在Access、SQL中就无法实现。斑马线即第一行为灰色,第二行为白色,第三行灰色,第四行为白色。请高手为我解决??(以下程序能实现斑马线,但程序不够稳定)
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var
      iRow,iGridHeight : Integer;
    begin
      iGridHeight := Rect.Bottom - Rect.Top;
      iRow := (Rect.Top - iGridHeight ) div iGridHeight;
      if iRow mod 2 = 0 then dbgrid1.canvas.Brush.color:=$00EAEAEA;
      dbgrid1.DefaultDrawcolumnCell(rect,datacol,column,state);
    end;  (以下程序能在Paradox中实现斑马线,但不能在Access、SQL中实现)
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
        if query1.recno mod 2<>0 then  dbgrid1.canvas.Brush.color:=$00eaeaea;
        dbgrid1.DefaultDrawcolumnCell(rect,datacol,column,state);
    end;