Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi OnEnter bei TEDIT fonktioniert nicht (RAD2007) (https://www.delphipraxis.net/130849-onenter-bei-tedit-fonktioniert-nicht-rad2007.html)

EccoBravo 14. Mär 2009 08:55


OnEnter bei TEDIT fonktioniert nicht (RAD2007)
 
Hallo,

böhse Überraschung bei RAD2007:
Bei den TEDIT-Komponenten funktioniert das OnEnter-Ereignis nicht mehr!

Die Eingaben in TEDITs habe ich unter Delphi7 bislang mit Enter freigegeben, damit das Programm während des Eingebens nicht ständig irgendwelche onChange.. abarbeitet und unfertige/falsche Eingaben bearbeitet.

Wenn ich in RAD2007 auf eine mit OnEnter programmiertes TEDIT die Enter-Key drücke passiert ausser einem BEEP nichts.
Was ist da los?

Danke EB

RWarnecke 14. Mär 2009 09:02

Re: OnEnter bei TEDIT fonktioniert nicht (RAD2007)
 
Hi,

das Ereignis OnEnter wird nur dann ausgelöst, wenn die Komponente TEdit den Focus erhält. Wenn Du auf die Enter-Taste reagieren möchtest, dann musst Du das OnKeyPress-Ereignis nehmen.

EccoBravo 14. Mär 2009 09:05

Re: OnEnter bei TEDIT fonktioniert nicht (RAD2007)
 
Danke,

aber wenn ich ein TEDIT editiere, dann hat diese Komponente doch den Fokus. ?!
So war es jedenfalls früher.

Gruß EB

RWarnecke 14. Mär 2009 09:08

Re: OnEnter bei TEDIT fonktioniert nicht (RAD2007)
 
Zitat:

Zitat von EccoBravo
Danke,

aber wenn ich ein TEDIT editiere, dann hat diese Komponente doch den Fokus. ?!
So war es jedenfalls früher.

Gruß EB

Ja, das ist richtig. Aber siehe, was ich hier geschrieben habe :
Zitat:

Das Ereignis OnEnter wird nur dann ausgelöst, wenn die Komponente TEdit den Focus erhält.
Edit:
Wenn Du auf Tasteneingaben in einem Edit-Feld reagieren möchtest, dann musst Du das über die Ereignisse OnKeyDown oder OnKeyPress oder OnKeyUp realisieren. Ein kleine Beispiel :
Delphi-Quellcode:
procedure TSearchDlg.LEdt_SearchTextKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = 13) then
    // Tue irgendwas
end;
Dieses Beispiel reagiert auf die Enter-Taste. Bei "Tue irgendwas" kannst Du was einfügen, wass dann ausgeführt werden soll. Zum Beispiel zum nächsten Editfeld springen.

jaenicke 14. Mär 2009 09:09

Re: OnEnter bei TEDIT fonktioniert nicht (RAD2007)
 
Zitat:

Zitat von EccoBravo
aber wenn ich ein TEDIT editiere, dann hat diese Komponente doch den Fokus. ?!
So war es jedenfalls früher.

Natürlich, aber während du editierst oder auch eine Taste drückst (auch die Entertaste) ändert sich das nicht. Das war auch schon immer so.
OnEnter und OnLeave werden ausschließlich dann einmal ausgelöst, wenn die Komponente den Fokus erhält (du die Komponente sozusagen betrittst - to enter) oder diesen wieder verliert (du die Komponente verlässt - to leave).

Das Ereignis heißt zwar OnEnter, hat aber mit der Entertaste ansonsten rein gar nichts zu tun, das war noch nie anders.

EccoBravo 14. Mär 2009 09:11

Re: OnEnter bei TEDIT fonktioniert nicht (RAD2007)
 
ja, was soll den das ?
erhält...erhalten hat...
wozu kann ich den onEnter überhaupt noch gebrauchen?

Frage...

EB

PS Danke jaenicke

hoika 14. Mär 2009 09:13

Re: OnEnter bei TEDIT fonktioniert nicht (RAD2007)
 
Hallo,

wozu ?
Also ich färbe den aktuellen Editor gelb ein.
Ist übersichtlicher.


Heiko

mkinzler 14. Mär 2009 09:14

Re: OnEnter bei TEDIT fonktioniert nicht (RAD2007)
 
Zitat:

wozu kann ich den onEnter überhaupt noch gebrauchen?
Wie schon öfters erwähnt wurde: Um auf das Erhalten des Fokuses zu reagieren. Z.B. wenn man das Edit dafür besonders hervorheben will ( andere Hintergrundfarbe etc.)

EccoBravo 14. Mär 2009 09:17

Re: OnEnter bei TEDIT fonktioniert nicht (RAD2007)
 
vielen Dank habe es begriffen. gehe in mich!

habe irgendwie anderes Funktionieren im Gedächnis gehabt. Schaue gleich mal nach und melde mich

Danke für Verständnis

EB

EccoBravo 14. Mär 2009 09:20

Re: OnEnter bei TEDIT fonktioniert nicht (RAD2007)
 
Sorry nochmals,

war auf dem Holzweg, hatte es früher (vor Jahren) tatsächlich über KeyPressed #13 gelöst,

Werde langsam alt (47)

Grüße

EB


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:39 Uhr.
Seite 1 von 2  1 2      

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-2025 by Thomas Breitkreuz