Delphi4 ST! Mit 'Enter' ins nächste Feld!

hallo,

ich möchte ein edit feld verlassen und in das nächste springen, wenn die ‚enter‘-taste gedrückt wurde.
wie geht das ?

VIELEN DANK!
dept2

Im OnKeyPress-Event des Edits, prüfe ob ENTER gedrückt wurde. Wenn ja, gib den Focus an das neue Edit:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin
if Key = #13 then
Edit2.SetFocus;
end;

Das reagiert aber nur die „grosse“ ENTER-Taste, auch bekannt als RETURN (die mit dem Pfeil). Den Char-Code der ENTER-Taste auf dem numeric Keyboard kenn ich nicht.
Falls du ihn kennst oder rausfindest, erweitere die Funktion um auch diese Taate abzufangen:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin
if (Key = #13) or (Key = #14) then
Edit2.SetFocus;
end;

In diesem Bespiel würden also Zeichen #13 und #14 abgefangen werden. Aber wie gesagt, #14 ist nur ein Zufallsbeispiel. Glaube kam, dass das wirklich die 2. ENTER-Taste ist :smile:

greets, Roger

Setze im Form KeyPreview auf False

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

begin
if Key = #13 then
Perform(Handle, wm_nextDlgCtl,0);
end;

Schau Dir auch mal die Methode

FindNextControl

an!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]