如何在delphi xe2中更改所选行的边框颜色和样式的背景颜色启用DBGrid?

时间:2014-02-08 06:47:38

标签: delphi delphi-xe2 tdbgrid

我在申请中使用了默认风格“Amethyst Kamri”。我的DBgrid选择的行颜色根据样式而改变。但我想更改所选行的边框颜色和背景颜色。 我使用answer of following question.

更改字体样式

https://stackoverflow.com/a/9472000

现在我想改变颜色。怎么做?

1 个答案:

答案 0 :(得分:1)

首先需要从Vcl.DBGrids.TDBGrid calss继承TDBGrid。并覆盖Paint过程。 像这样:

type
  TDBGrid = class(Vcl.DBGrids.TDBGrid)
  protected
    procedure Paint; override;
  end;

在Paint程序中:

procedure TDBGrid.Paint;
var
  i, X, Y: Integer;
begin
  inherited;
  Y := RowHeights[0] + 1;
  X := Width;
  for i := 1 to Self.RowCount - 1 do
  begin
    Y := Y + RowHeights[i] + 1;
    Canvas.Brush.Color := clRed;
    Canvas.FillRect(Rect(0, Y, X, Y + 1));
  end;
end;

这是最终结果:

enter image description here