[gelöst] TEdit eingabe mit ENTER bestätigen?
[gelöst] TEdit eingabe mit ENTER bestätigen?
Hallo, ich habe ein Programm geschrieben, wo man etwas in eine tedit box einbgeben muss. jetzt muss man aber immer mit der maus auf den button nebendran dürcken, enter geht nicht.
gibt es eine möglichkeit, den button zu "sagen", das er automatisch angewählt wird und wenn man enter drückt er bestätigt wird?
gibt es eine möglichkeit, den button zu "sagen", das er automatisch angewählt wird und wenn man enter drückt er bestätigt wird?
Zuletzt geändert von heheracer am So 1. Feb 2015, 13:59, insgesamt 1-mal geändert.
Re: TEdit eingabe mit ENTER bestätigen?
Ich würde einfach in OnKeyUp die Enter Taste im TEdit abfangen.
- Ally
- Beiträge: 278
- Registriert: Do 11. Jun 2009, 09:25
- OS, Lazarus, FPC: Win und Lazarus Stable release
- CPU-Target: x64
Re: TEdit eingabe mit ENTER bestätigen?
So kann man zur nächsten TAB-Position springen. Vielleicht hilft dir das ja weiter.
Code: Alles auswählen
procedure TEdit.KeyPress(var Key: char);
begin
// Wenn Entertaste gedrückt wurde, zur nächsten TAB-Position springen.
if Key = #13 then // #13 =Enter
begin
Key := #0; // Beep verhindern.
Screen.ActiveForm.SelectNext(Screen.ActiveForm.ActiveControl, True, True);
end;
end;
-
- Beiträge: 320
- Registriert: Sa 21. Mär 2009, 17:31
- OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
- CPU-Target: 64 Bit
Re: TEdit eingabe mit ENTER bestätigen?
Code: Alles auswählen
button.default:=true;
Re: TEdit eingabe mit ENTER bestätigen?
danke! genau das habe ich gesucht, lässt sich übrigens einfacher im objectinspector machen falls man die form nicht dynamisch erstellt.BeniBela hat geschrieben:Code: Alles auswählen
button.default:=true;
Re: TEdit eingabe mit ENTER bestätigen?
das hat bei diesem problem nicht geholfen, aber trotzdem sehr sinnvoll wenn man mehrere tedit boxen hat. werd ich sicher noch brauchen, danke.Ally hat geschrieben:So kann man zur nächsten TAB-Position springen. Vielleicht hilft dir das ja weiter.
Code: Alles auswählen
procedure TEdit.KeyPress(var Key: char); begin // Wenn Entertaste gedrückt wurde, zur nächsten TAB-Position springen. if Key = #13 then // #13 =Enter begin Key := #0; // Beep verhindern. Screen.ActiveForm.SelectNext(Screen.ActiveForm.ActiveControl, True, True); end; end;
hab hier dieses Problem:
unit2.pas(60,26) Error: method identifier expected
was muss ich ändern? Key hab ich schon als char deklariert
- Ally
- Beiträge: 278
- Registriert: Do 11. Jun 2009, 09:25
- OS, Lazarus, FPC: Win und Lazarus Stable release
- CPU-Target: x64
Re: [gelöst] TEdit eingabe mit ENTER bestätigen?
Entschuldige bitte, es muss natürlich so aussehen:
Code: Alles auswählen
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
Re: [gelöst] TEdit eingabe mit ENTER bestätigen?
auch das geht bei mir nichtAlly hat geschrieben:Entschuldige bitte, es muss natürlich so aussehen:
Code: Alles auswählen
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
unit2.pas(55,31) Error: method identifier expected
- Ally
- Beiträge: 278
- Registriert: Do 11. Jun 2009, 09:25
- OS, Lazarus, FPC: Win und Lazarus Stable release
- CPU-Target: x64
Re: [gelöst] TEdit eingabe mit ENTER bestätigen?
Dann platziere doch mal ein neues TEdit und schreibe die folgenden Zeilen in's KeyPress-Ereignis.
Code: Alles auswählen
if Key = #13 then // #13 =Enter
begin
Key := #0;
Screen.ActiveForm.SelectNext(Screen.ActiveForm.ActiveControl, True, True);
end;
Re: [gelöst] TEdit eingabe mit ENTER bestätigen?
ok der code von dir war schon richtig, ich hatte ihn auch so, aber es egth wohl nur wenn man im objectinspector unter ereignisse onkeypress geht. komisch, aber gut es funktioniert.Ally hat geschrieben:Dann platziere doch mal ein neues TEdit und schreibe die folgenden Zeilen in's KeyPress-Ereignis.
Code: Alles auswählen
if Key = #13 then // #13 =Enter begin Key := #0; Screen.ActiveForm.SelectNext(Screen.ActiveForm.ActiveControl, True, True); end;