Segue exemplo de como pintar um dbgrid no delphi.

procedure TfrmMovimentoRapido.dbgrdCadastroDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  Case ( cdsCadastroSTATUS_MOVIMENTO.AsInteger ) of
    0:
    begin
      (Sender as TDBGrid).Canvas.Font.Color := ClBlack;
      (Sender as TDBGrid).Canvas.Brush.Color := $00C4FFFF;
    end;
    1:
    begin
      (Sender as TDBGrid).Canvas.Font.Color := ClBlack;
      (Sender as TDBGrid).Canvas.Brush.Color := clWhite;
    end;
  end;

  if gdSelected in State then
  Begin
    (Sender as TDBGrid).Canvas.Brush.Color := ClNavy;
    (Sender as TDBGrid).Canvas.Font.Color := ClWhite;
  end;

  (Sender as TDBGrid).Canvas.FillRect(Rect);
  (Sender as TDBGrid).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;