Author: William Gerbert
How can I get rid of highlighting, focus rectangle etc. in a TDBGrid. I want the
grid to display information only - without the user seeing highlighted cells etc.
If I disable the grid, the user cannot use the scrollbars.
Answer:
Try this. You can adjust it to your needs:
1 2 procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
3 Rect: TRect; State: TGridDrawState);
4 begin5 ifnot (gdFixed in State) then6 StringGrid1.Canvas.Brush.Color := clWindow;
7 StringGrid1.Canvas.FillRect(Rect);
8 InflateRect(Rect, -1, -1); {resize so text is not on line}9 DrawText(StringGrid1.Canvas.Handle, PChar(StringGrid1.Cells[ACol, ARow]), -1,
10 Rect, DT_SINGLELINE or DT_VCENTER or DT_LEFT);
11 end;