Нужно, что бы красилась вся текущая строка, а не только ячейка, при этом не выставлять свойство RowSelect на true (нужно оставить возможность редактирования). Также без использования посторонних компонентов. Разобрался, как выделять только текущую ячейку, но как выделить всю строку не понял. Буду благодарен за помощь! (отблагодарю лучшим ответом и подарком)
Вот код выделения текущей ячейки:
procedure TForm1.DBGrid13DrawColumnCell(Sender: TObject;
const [Ref] Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
IF gdSelected IN State Then
Begin
TDBGrid(Sender).Canvas.Brush.Color:= $847000;
TDBGrid(Sender).Canvas.Font.Color := clWhite;
End;
TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Наверняка такое можно сделать и для всей строки.
//otvet.imgsmail.ru/download/192837675_577e96b0a9ab8e08d475b25914d64924_800.png
Вот код выделения текущей ячейки:
procedure TForm1.DBGrid13DrawColumnCell(Sender: TObject;
const [Ref] Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
IF gdSelected IN State Then
Begin
TDBGrid(Sender).Canvas.Brush.Color:= $847000;
TDBGrid(Sender).Canvas.Font.Color := clWhite;
End;
TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Наверняка такое можно сделать и для всей строки.
//otvet.imgsmail.ru/download/192837675_577e96b0a9ab8e08d475b25914d64924_800.png