我在申请中使用了默认风格“Amethyst Kamri”。我的DBgrid选择的行颜色根据样式而改变。但我想更改所选行的边框颜色和背景颜色。 我使用answer of following question.
更改字体样式https://stackoverflow.com/a/9472000
现在我想改变颜色。怎么做?
答案 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;
这是最终结果: