mit Enter ins nächste TDBEdit-Feld springen

Für Installationen unter Windows
Antworten
Meridian
Beiträge: 8
Registriert: Di 22. Feb 2022, 12:19
OS, Lazarus, FPC: Window 11
CPU-Target: 64Bit
Wohnort: Cloppenburg

mit Enter ins nächste TDBEdit-Feld springen

Beitrag von Meridian »

Hallo zusammen,

heute habe ich mal wieder eine Sache, die bei mir nicht funktioniert. Was mache ich falsch?

Anstatt immer nur mit der Tab-Taste, möchte ich gerne mit der Enter-Taste zum nächsten Eingabefeld springen. Der nachfolgende Code funktinierte damals unter Delphi. Ich habe schon im Netz gesucht, bin aber nicht wirklich fündig geworden.
KeyPreview habe ich auf True gesetzt.

procedure TMainForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
SendMessage(Handle, WM_NEXTDLGCTL, 0, 0);
end;
end;

Danke und ich wünsche einen schönen Feiertag.

siro
Beiträge: 644
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 10
CPU-Target: 64Bit
Wohnort: Berlin

Re: mit Enter ins nächste TDBEdit-Feld springen

Beitrag von siro »

Code: Alles auswählen

procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
begin
  if key=#13 then
  begin
    key:=#0;
    SelectNext(ActiveControl,true, true);
  end;
end;  
Das sollte funktionieren, wenn KeyPreview auf TRUE steht.
Mit 3 Editfeldern läuft das bei mir jedenfalls.

auch nur abgeguckt... :P
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

Meridian
Beiträge: 8
Registriert: Di 22. Feb 2022, 12:19
OS, Lazarus, FPC: Window 11
CPU-Target: 64Bit
Wohnort: Cloppenburg

Re: mit Enter ins nächste TDBEdit-Feld springen

Beitrag von Meridian »

Klasse, funktioniert super.
Danke :)

Antworten