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
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
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]