Цвет столбцов DBGRID

Я пытаюсь изменить цвет ячейки заголовка в определенном столбце компонента DBGRID в Delphi XE6. Раньше я рисовал заголовок столбца, когда сетка сортировалась по этому столбцу.

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

Это возможно? Или есть лучший способ как выделить отсортированный столбец?

2 ответа

Попробуйте переопределить процедуру 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.

Ну, если я понимаю ваш вопрос, все, что вам нужно сделать, это изменить DBGrid DrawingStyleсобственность на gdsGradientа затем измените gradentEndColor& gradentStartColorбыть одного цвета..

Другие вопросы по тегам