1. Um nach dem Verlassen des Grid (OnExit) die blaue Zelle wegzubekommen, kann man z.B. die Eigenschaft Selection (typ TGridRect) auf einen Bereich außerhalb des Grids setzen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.StringGrid1Exit(Sender: TObject); var g:TGridRect; begin g.Left:=-1; g.Top:=-1; g.right:=-1; g.Bottom:=-1; StringGrid1.Selection:=g; end; |
(Die Ereignismethode habe ich mit dem Objektinspektor unter "Eigenschaften" des StringGrids hinzugefügt)
2. Im TStringGrid gibt es in der Eigenschaft Options den Parameter goRowselect, der standardmäßig auf False steht.
Den setzt Du auf True und aus der markierten Zelle wird eine Zeile.
Ich hoffe, es ist das, was Du machen möchtest. Meine oben angegebene Stellungnahme, es gäbe bei StringGrids
kein Rowselect, war schlichtweg falsch, sorry. Ich hatte das verwechselt mit der Problematik,
beliebige Zellen
im Grid zu markieren. DAS geht dann nur über das OwnerDraw-Ereignis. Wenn Du DAZU noch was wissen willst,
kann ich nochmal Code nachreichen, aber schau Dir dazu ruhig mal die Online-Hilfe an.
