![]() |
Im StringGrid mit Enter immer ins nächste Feld springen
Hallo,
hiermit kann man bei Enter-Druck, immer in die nächste Feld springen, es werden alle der Reihe nach durchgegangen, und zwar immer von links nach rechts und dann immer die nächste Zeile, aus der letzten Zelle wird dann wieder in die erste gesprungen, den Teil kann man aber auch natürlich wieder ausbauen!
Delphi-Quellcode:
Grüsse, Daniel :hi:
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin if Key = #13 then begin with StringGrid1 do begin if Col < ColCount -1 then //Nächste Spalte Col := Col +1 else if Row < RowCount -1 then begin //Nächste Zeile Row := Row +1; Col := 1; end else begin //Geh wieder an den Anfang des Grids Row := 1; Col := 1; end; end; end; end; |
Re: Im StringGrid mit Enter immer ins nächste Feld springen
Hi,
soweit, so gut, aber für Anfänger: um etwas eingeben zu können, muß im Objektinspektor die Option "goEditing" auf true gesetzt werden. Desweiteren ist es manchmal gut, das Grid vergrößern zu können, z.B. wenn man noch nicht weiß, wieviele Eingaben überhaupt gemacht werden. Das geht dann so (*** beachten) :
Delphi-Quellcode:
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin if Key = #13 then begin with StringGrid1 do begin if Col < ColCount -1 then //Nächste Spalte Col := Col +1 else if Row < RowCount -1 then begin //Nächste Zeile Row := Row +1; Col := 1; end else begin //Zeile am Ende des Grids einfügen RowCount := RowCount + 1; // *** statt Row := 1 1 Zeile anfügen Row := RowCount -1; // *** Cursor in die neue Zeile Col := 1; end; end; end end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz