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: