Danke, mit den ersten zwei Anweisungen setzt man den Focus tatsächlich auf eine bestimmte Zelle. Allerdings wird hierdurch der Cursor noch nicht sichtbar. Aber auch dieses "Problem" habe ich inzwischen gefunden/gelöst. Verschiebt man die Zeilen mittels einer Procedure-ButtonClick, so wechselt der Focus natürlich zum Button. Daher muss am Ende noch der Aufruf StringGrid1.SetFocus stehen.
Nachstehend ein funktionsfähiges Beispiel
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| Procedure TForm2.ZeileAbClick(Sender: TObject);
Var i,j : integer; s : string; begin with StringGrid1 do begin if ((Row>-1) and (Row<RowCount-1)) then begin i:=row+1; for j:= FixedCols to ColCount-1 do begin s:=Cells[j,row]; Cells[j,row]:=Cells[j,i]; Cells[j,i]:=s; end; Row := Row + 1; end; SetFocus; end; end; |