![]() |
Edit-Feld nach Eingabe mit ENTER verlassen
Hallo Gemeinde,
Ich habe mehrere Edit-Felder im Formular. Ich möchte über die Enter-Taste ein Edit-Feld verlassen und das nächste anspringen. Vorher möchte ich in diesem Edit-Feld Daten eingeben. Wie geht das über ein Ereignis ? freundliche Grüße wireless |
Re: Edit-Feld nach Eingabe mit ENTER verlassen
Hallo, herzlich Willkommen!
Das geht beispielsweise über die OnKeyPress/OnKeyDown-Ereignisse und ![]() Edit: Ganz allgemein kannst du es auch so machen:
Delphi-Quellcode:
und allen Edits diese Prozedur dem OnKeyDown-Ereignis zuweisen.
procedure TForm1.MyEditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if Key = VK_RETURN then Perform(WM_NEXTDLGCTL, 0, 0); end; |
Re: Edit-Feld nach Eingabe mit ENTER verlassen
Hallo Matthias,
habe ich schon probiert, auf Edit1 im Ereignis OnKeyPress des Focus auf das nächste Edit-Feld gesetzt, also Edit2.SetFocus; beispielsweise. Das lässt aber keine EINGABE im Edit1-Feld zu, zumindest keine Eingabe die länger als ein Zeichen ist. Dann sprint der Cursor respektive der Focus sofort auf das Edit2-Feld. freundliche Grüße wireless |
Re: Edit-Feld nach Eingabe mit ENTER verlassen
Zitat:
Matze hat seinen Beitrag nochmal editiert, schau mal was er geschrieben hat |
Re: Edit-Feld nach Eingabe mit ENTER verlassen
Hallo,
danke für die Hilfe. Es geht nur, wenn man es auf Keydown legt. Jetzt muß ich nur noch vom letzten Edit-Feld wieder auf das 1. Edit-Feld den Fokus setzen. danke, gemeinde !! fg wireless |
Re: Edit-Feld nach Eingabe mit ENTER verlassen
Zitat:
Delphi-Quellcode:
P.S.: VK_RETURN ist #13 ;)
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if Key = #13 then begin Key := #0; self.Perform(WM_NEXTDLGCTL,0,0); end; end; |
Re: Edit-Feld nach Eingabe mit ENTER verlassen
Zitat:
|
Re: Edit-Feld nach Eingabe mit ENTER verlassen
Okay, Leute, BEIDES funktioniert.
Aber wie komme ich dann vom LETZTEN Edit-Feld zurück auf das 1. Edit-Feld, und nicht auf das nächste Objekt - ein Button - den ich jetzt nicht besuchen will ? freundliche Grüße wireless |
Re: Edit-Feld nach Eingabe mit ENTER verlassen
Delphi-Quellcode:
Bei mir heißt das letzte Edit halt Edit3 ;)
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin if Key = #13 then begin Key := #0; Edit1.SetFocus; end; end; |
Re: Edit-Feld nach Eingabe mit ENTER verlassen
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if Key = #13 then begin Key := #0; self.Perform(WM_NEXTDLGCTL,0,0); if not (ActiveControl is TEdit) then Edit1.SetFocus; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:11 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