ich habe ein kleines Testprogramm geschrieben:
1. Stringgrid drauf => Option "Rowselect" setzen
2. ein Paar Zeilen einfügen
3. Button drauf mit folgendem Code:
Code: Alles auswählen
Procedure TForm1.Button1Click(Sender: TObject);
Var
r: TRect;
Begin
r := StringGrid1.Selection;
r.Top := 10;
r.Bottom := 10;
StringGrid1.Selection := r;
End;
Aber:
Wie man auch im Screenshot erkennen kann, bleibt die Zelle 2/2 blau markiert, erst wenn ich mit der Maus eine neue Zeile markiere, geht die Falsche Markierung der Zelle 2/2 weg.
Dieses Verhalten habe ich sowohl unter Windows, als auch unter Linux.
Kennt hier jemand einen Weg wie man die Selection Korrekt setzen kann, ohne das die vorher evtl. gesetzte Zelle stehen bleibt ?
Ein einfaches invalidate reicht jedenfalls nicht
