Erst einmal die schlechte Nachricht
TStringGrid kann es nicht, genauso wie auch das TDrawGrid von Delphi. Die Ursache hier liegt etwas tiefer begraben. Das Delphi-Grid merkt sich ausschließlich das markierte Rechteck in der Eigenschaft
Selection
Delphi-Quellcode:
type
TGridRect = record
case Integer of
0: (Left, Top, Right, Bottom: Longint);
1: (TopLeft, BottomRight: TGridCoord);
end;
TCustomGrid = class(TCustomControl)
...
property Selection: TGridRect read GetSelection write SetSelection;
...
end;
Daran lässt sich auch erkennen, daß sich dieses nicht ohne weiteres umgehen lässt. Nun gibt es zwei grundlegende Möglichkeiten. Die erste wäre die Nutzung einer anderen Komponente, was schnell zu Problemen führen kann, die zweite ist es, das Verhalten des StringGrids etwas abzuändern
Anbei mal ein ScreenShot des geänderten StringGrid. Nachteilig an dieser Lösung ist, daß das Normale Verhalten des StringGrid (auswahl über Maus, Shift+Cursor) nicht mehr geht, außer Du nimmst Dich dieses Problemes an und änderst das auch noch - mir fehlt jetzt die Zeit.
Mehr in ein paar Minuten.
...
...