DBGRID列标题颜色

时间:2014-05-21 14:56:12

标签: delphi title dbgrid

我正在尝试在Delphi XE6中更改DBGRID组件的特定列中的Title单元格的颜色。当网格按特定列排序时,我习惯绘制列标题。

DBGRID1.Columns[1].Title.Color := clBlue;

这可能吗?或者有更好的方法来突出显示已排序的列?

1 个答案:

答案 0 :(得分:1)

尝试覆盖程序TCustomDBGrid.DrawCellBackground以强制标题的背景颜色:

procedure TMyDBGrid.DrawCellBackground(const ARect: TRect; AColor: TColor; AState: TGridDrawState; ACol, ARow: integer);
begin
  if (FLastSortedColumnIdx = ACol) and (ACol >= 0) and (ARow = -1) then
    AColor := Columns[ACol].Title.Color;

  inherited;
end;

FLastSortedColumnIdx是存储已排序列的Column.Index的字段。

应该在Delphi XE3中工作。