Wie kann ich bei Betätigen der Enter-Taste den Fokus automatisch an das nächste Feld (z.B. TEdit) übergeben?
Um nach Betätigen der Enter-Taste zum nächsten Control auf einem Formular zu wechseln, muß man zuerst die "KeyPreview"-Eigenschaft des Formulars auf "true" setzen. Anschließend kann man in der OnKeyPress-Methode des Formulars auf die Enter-Taste reagieren:
procedure TMainForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then begin { #13 = Enter }
Key := #0; { sonst piept es }
PostMessage(Handle, WM_NextDlgCtl, 0, 0);
end;
end;
Bemerkung: Das funktioniert natürlich nur mit zwei oder mehr Komponenten und leider nicht innerhalb einer Komponente, z.B. einem DBGrid.
| Delphi 1 | Delphi 2 | Delphi 3 | Delphi 4 |
| nicht getestet | Version nicht betroffen | getestet |
siehe auch: