Hallo Hansa,
damit der Benutzer das StringGrid auf deinem Formular nicht erst mit der Maus anklicken muss, kannst du das StringGrid im Object Inspector zum ActiveControl der Form machen. Damit grundsätzlich keine blaue Selektion zu sehen ist, musst du DefaultDrawing auf FALSE setzen und das Ereignis OnDrawCell() bedienen:
Delphi-Quellcode:
procedure TDemoForm.StringGridDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
with StringGrid do
begin
if gdFixed in State
then Canvas.Brush.Color := FixedColor
else Canvas.Brush.Color := Color;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left, Rect.Top, Cells[ACol, ARow]);
if gdFocused in State
then Canvas.DrawFocusRect(Rect);
end;
end;
Ein Nachteil von so einem StringGrid (r/o und kein area select) ist auf jeden Fall, dass du den Benutzer beim Arbeiten mit Copy & Paste behinderst.
Grüße vom marabu