![]() |
edit-enter
wollte eine Edit-Eingabe durch Enter bestätigen und damit automatisch button1 ausführen, geht aber nicht, warum?
Delphi-Quellcode:
wenn ich button1 normal anklicke, geht es, button1 macht dies:
procedure Tsuchform.Edit1Enter(Sender: TObject);
begin button1.Click; end;
Delphi-Quellcode:
procedure Tsuchform.Button1Click(Sender: TObject);
begin modalresult:=1; end; |
Re: edit-enter
Das Enter-Ereignis ist nicht für die Taste Enter sondern für das "betreten" des Editfeldes. D.h. Enter wird ausgeführt sobald du in das Edit klickst. Willst du das eine Aktion bei der Entertaste passiert musst du das OnKeyPress (oder ähnlich)-Eregnis nehmen und dort die gedrückte Taste abfragen.
|
Re: edit-enter
Hallo,
Edit1Enter wird ausgeführt wenn du diesem Edit den Fokus gibst (z. B. reinklickst) Wenn du das mit der Entertaste ausführen willst, dann musst du KeyPress verwenden: Beispiel:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin If Key = #13 then Button1.Click; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Hallo'); end; |
Re: edit-enter
Oder benutze
![]() |
Re: edit-enter
Hilft dir dieser Code?
Delphi-Quellcode:
grz zer00
procedure TForm1.Button1Click(Sender: TObject);
begin ShowMessage('Hallo'); end; procedure TForm1.Edit1Enter(Sender: TObject); begin Button1Click(self); end; |
Re: edit-enter
Immer wieder schön...
Wenn man über Tom_po und seine Fragen nur in einem Forum stolpern würde, könnte man es ja noch irgendwo hinnehmen... aber quer durch alle Delphi-Foren und dann mit einer konsequens von Ahnungslosigkeit und Desinteresse, das ist schon dummdreist. Wenn wirst du ENDLICH versuchen, deinen Quellcode nicht nur zu KOPIEREN sondern auch zu KAPIEREN? Und nach diesem Satz wissen wohl die meisten User, wer "StarFire" ist und ich kann mit meinem "Kürzel" unterschreiben. Normalerweise halte ich mich aus diesem Forum raus. DL PS: nachdem ich mir jetzt die Beitrage von Tom_po hier mal angesehen habe, werde ich noch "stinkiger" |
Re: edit-enter
@StarFire: Wenn du ein Problem mit jemand anderem hast kläre dies bitte per pn. Wenn du etwas zum Thema zu sagen hast kannst du gern weiter in diesem Thread posten, ansonsten halte dich bitte zurück und mach das Thema nicht "kaputt".
|
Re: edit-enter
danke helmi für deinen tip, das hatte ich schon probiert.
genau so wollte ich es...merci |
Re: edit-enter
Zitat:
Delphi-Quellcode:
DAmit aber nur mit der Taste mit dem ASCII-Code 13. Und das ist die Entertaste :roll:
If Key = #13 then
Button1.Click; mr47 |
Re: edit-enter
mr47, du hast recht, hatte zu schnell gepostet, danke, es geht
danke auch dir helmi |
Re: edit-enter
habe durch Suchen jetzt noch das gefunden, das auch geht:
Delphi-Quellcode:
ist beides gleichwertig, applikationsbezogen?
procedure Tsuchform.Edit1KeyPress(Sender: TObject; var Key: Char);
begin //If Key = #13 then if key = Char(VK_Return) then Button1.Click; end; |
Re: edit-enter
Ja. VK_Return ist nur eine Konstante, in der der Tastencode für die Returntaste gespeichert ist. Ist halt einfacher zu verstehen, wenn man RETURN liesst und nicht erst überlegen muss, was jetzt dieses 13 oder 27 oder so heisst.
|
Re: edit-enter
danke, cyberbob, leuchtet ein...
|
Re: edit-enter
:bouncing4:
Probiere mal folgendes aus if key = #13 then self.perform(WM_NEXTDLGCTL,0,0); Gruß egon.kaschuba egon.kaschuba@ewetel.net |
Re: edit-enter
:bouncing4:
procedure Tsuchform.Edit1KeyPress(Sender: TObject; var Key: Char); begin If Key = #13 then self.perform(WM_NEXTDLGCTL,0,0); . . . Weitere anweisungen end; Nochmals Gruß egon.kaschuba |
Re: edit-enter
Würdest Du noch dazu schreiben, was da jetzt anders ist, bzw. was das bewirkt..!?
|
Re: edit-enter
:hi:
Wissen ist Macht. Findest du es nicht auch lästig,daß man sich NUR mit der Tabulatortaste zwischen mehreren Textfeldern bewegen kann? Insbesondere in großen Eingabemasken ist die Verwendung der Entertaste bez. der Cursortasten VIEL sinnvoller.
Delphi-Quellcode:
Ist das OK ? MR47
procedure TForm1.Edit14KeyPress(Sender: TObject; var Key: Char);
begin if not (key in [#8,#46,#48..#57] ) then begin key:=#13 ; // Keine Ziffern eingeben // Kundennummer suchen table1.indexName:='irenummer'; table1.setkey; table1.FieldByName('nr').asstring:=Edit14.text; if not table1.gotokey then begin messagedlg('Rechnungdnummer'+' '+edit14.Text+' '+'nicht vorhanden !' ,mtinformation,[mbok],0); Edit14.text:=' '; end; edit14.Text:=''; if key = #13 then self.perform(WM_NEXTDLGCTL,0,0); // Die Methode Perform sendet die Message end; end; // WM_NEXTDLGCTL an das aktuelle Formular. [edit=Admin]Code in Delphi-Tags gesetzt. Künftig bitte selber machen, danke. ;-) Mfg, Daniel[/edit] |
Re: edit-enter
Achso. Ich hatte bei deinem Beitrag davor nicht verstanden was anders ist, bzw. was das bringt.
Jetzt ist es klar... mr47 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz