Edit Enter
-
Hi!
Ich habe ein Edit-Feld angelegt, in das ich jetzt irgendwas eintippen kann.
Ich möchte jetzt aber, dass wenn ich die Enter-Taste drücke, eine Aktion ausgeführt wird, die ich normalerweise auf einen Button gelegt habe.
Was muss ich dazu tun?Danke!
Ciao GJ
-
Im KeyPress-Event der Editbox:
if (Key=='\r') //Enter gedrückt /*Funktion die auch auf den Button gelegt ist aufrufen*/ ;
-
Naja, ich würde eher VK_RETURN beim KeyDown abfangen als '\r' (-;
-junix
-
Geschmackssache
obwohl.. '\r' ist kürzer
-
Und ich würde einfach die Eigenschaft "Default" des Buttons auf TRUE setzen.
-
Hi,
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) { if (Key == VK_RETURN) { Key = 0; Button1->Click(); } }
-
Wozu "kompliziert", wenns auch einfach geht?!
-
Weil vieleicht das Ereignis nur auftreten soll wenn man grad im Editfeld ist und dann Enter drückt?
-
Ach ne!
Dafür ist die Eigenschaft ja da. Ich weiß eben mehr als du!
-
bei button auf default setzen, wird der button aber auch gedrückt wenn man bei ner ganz anderen edit-box drin ist und entert, jedenfalls default-mäßig
-
Das ist doch grad das praktische daran, @crass.
In Dialogen definiert man gern eine Standard-Schaltfläche. Im allgemeinen hat das ENTER hier keine Aufgabe. Da ist es ein schöner und üblicher Komfort, wenn der User nach der gewünschten Eintragung ENTER bedienen kann, um den Dialog auszuführen. "Übernehmen" wäre eine weitere Möglichkeit für den Einsatz des Default. Bei MessageBoxes kann auch CANCEL als Standard-Schaltfläche sinn machen.
-
@dreaddy, in dem fall kann man default doch toggeln, On Enter() OnExit()