Grid
Модератор: Модераторы
Grid
Как выделить редактируемую ячейку в StringGrid заданным цветом?
- serbod
- постоялец
- Сообщения: 449
- Зарегистрирован: 16.09.2016 10:03:02
- Откуда: Минск
- Контактная информация:
Пример для выделенных ячеек. Для редактируемой ячейки может лучше использовать gdFocused вместо gdSelected, не проверял.
В обработчике события OnDrawCell:
В обработчике события 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;
