Grid

Модератор: Модераторы

Grid

Сообщение Ivan_OK » 21.11.2019 21:07:25

Как выделить редактируемую ячейку в StringGrid заданным цветом?
Ivan_OK
незнакомец
 
Сообщения: 2
Зарегистрирован: 13.11.2019 16:53:50

Re: Grid

Сообщение serbod » 25.11.2019 12:30:49

Пример для выделенных ячеек. Для редактируемой ячейки может лучше использовать gdFocused вместо gdSelected, не проверял.
В обработчике события OnDrawCell:
Код: Выделить всё
procedure TFrameGrid.sgItemsDrawCell(Sender: TObject; aCol, aRow: Integer;
  aRect: TRect; aState: TGridDrawState);
var
  TH, TW: Integer;
  CellText: String;
begin
  CellText := sgItems.Cells[ACol, ARow];

  // подсветка выделенных ячеек
  if gdSelected in AState then
  begin
    sgItems.Canvas.Font.Color := clHighLightText;
    sgItems.Canvas.Brush.Color := clHighLight;

    sgItems.Canvas.FillRect(ARect);
    TH := sgItems.Canvas.TextHeight(CellText);
    TW := sgItems.Canvas.TextWidth(CellText);
    sgItems.Canvas.TextOut((ARect.Left + ARect.Right) div 2 - TW div 2, (ARect.Top + ARect.Bottom) div 2 - TH div 2, CellText);
  end; 
end;
Аватара пользователя
serbod
постоялец
 
Сообщения: 449
Зарегистрирован: 16.09.2016 11:03:02
Откуда: Минск


Вернуться в Компоненты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru