Autor Beitrag
open60
Hält's aus hier
Beiträge: 3

OS/2, OSX
D6Pers
BeitragVerfasst: Di 21.06.05 22:36 
Hallo,

wie kann ich TstringGrid beibringen, dass der Cursor nach einem RETURN(ENTER) in die nächste Zelle springt. Um dann dort den nächsten String eingeben zu können.

Oder noch besser, ein Sprung in die nächste Zeile, also die darunterliegende Zelle.

Brauche erst mal einen Tip mit welchen Properties ich experimentieren kann.
Danke!

Gruß
Roland


Zuletzt bearbeitet von open60 am Mi 22.06.05 08:42, insgesamt 1-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 21.06.05 22:45 
Hallo und :welcome: im DF!

Frage im OnKeyPress-Ereignis ab, ob die Enter-Taste gedrückt wurde und ändere dann die Row-Eigenschaft des Stringrids.

Grüße
Christian

P.S.: Und pass auf, dass Du in der letzten Zeile nicht weiter nach unten gehen kannst ;-)
P.P.S.: Der Titel Deines Threads könnte ein bisschen mehr Information enthalten. Dazu einfach oben bei Deinem ersten Beitrag auf user defined image klicken und den Titel ändern. :-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
open60 Threadstarter
Hält's aus hier
Beiträge: 3

OS/2, OSX
D6Pers
BeitragVerfasst: Mi 22.06.05 08:50 
Hallo Christian,

Danke für die schnelle Antwort und den Willkommesgruß!

Habe den ersten Teil mit OnScan gelöst. Klappt soweit, aber wie gehts weiter?
Mit row bekomme ich die aktuelle Spalte raus, und dann?

Gruß
Roland
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 22.06.05 09:00 
user profile iconopen60 hat folgendes geschrieben:
Habe den ersten Teil mit OnScan gelöst.
OnScan? Wann wird das denn ausgelöst? :gruebel:

user profile iconopen60 hat folgendes geschrieben:
Mit row bekomme ich die aktuelle Spalte raus, und dann?
Die row-Eigenschaft gibt Dir die Zeile aus - und damit kannst Du sie auch setzen. Also
ausblenden Delphi-Quelltext
1:
StringGrid1.row := StringGrid1.row + 1					


Musst nur noch abfragen, ob es die nächste Zeile überhaupt gibt.

Für die Spalte machst Du das Ganze mit col anstatt row

//Edit: Mein StringGrid hat kein OnScan :gruebel:

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
open60 Threadstarter
Hält's aus hier
Beiträge: 3

OS/2, OSX
D6Pers
BeitragVerfasst: Mi 29.06.05 12:23 
Hallo Christian,

Zitat:
OnScan? Wann wird das denn ausgelöst? :gruebel:

Beim Betätigen einer Taste.

Zitat:
Die row-Eigenschaft gibt Dir die Zeile aus - und damit kannst Du sie auch setzen. Also

ausblenden Delphi-Quelltext
1:
StringGrid1.row := StringGrid1.row + 1					


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
Procedure TForm1.StringGrid1OnScan (Sender: TObject; Var KeyCode: TKeyCode);
var Zeile: integer;
Begin
  if ((KeyCode = 264OR (KeyCode = 286)) Then
    Begin
      KeyCode := 0;
      StringGrid1.row := StringGrid1.row + 1;
    End;
End;


KeyCode = 264 ENTER-Taste
KeyCode = 286 ENTER-Taste im Nummernblock

Jetzt nur noch die letzte Zeile abfragen...

Bei mir hat es Probleme mit den TStringGrid +Options (goShowSelect usw.) gegeben.
Wußte nicht, dass auch die richtig eingestellt werden müssen.

Jetzt funktioniert alles bestens!

Vielen Dank nochmal!

Gruss
Roland