Hallo,
ich verstehe den Sinn auch nicht so richtig.
Hier mal ein Ansatz, man braucht keine Klicks zu zählen, sich nicht merken welches Edit zuletzt den Focus hatte und keinen Code für den Button zur Auswertung/Weiterverwendung der Daten aus den Editfeldern. Eine Verarbeitung der Daten aus den Editfeldern erfolgt auch wenn eines der Editfelder auf anderem Wege(Tab-Taste etc.) verlassen wird.
Die Editfelder bekommen im OI in der Eigenschaft Edit.Tag die gewünschte Reihenfolge zugewiesen.
Der gesamte Code in einem OnExit-Event-Handler der allen Edits zugewiesen wird:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.AllEditExit(Sender: TObject); begin Caption := TEdit(Sender).Text; if ActiveControl = Button1 then case TEdit(Sender).Tag of 1 : Edit2.SetFocus; 2 : Edit3.SetFocus; 3 : Edit1.SetFocus; end; end; |
Erläuterung:
Klickt man auf den Button wird das Ereignis OnExit der Editfelder ausgelöst.
Das ActiveControl ist dann schon Button1, Sender das Edit das den Focus verliert.