Einzelnen Beitrag anzeigen

Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#2

Re: OnKeyDown funktionert nicht

  Alt 16. Mär 2009, 18:20
Das Problem ist, dass in dem Moment, wo Button1 geklickt wird, der Focus, also im Endeffekt das Objekt deines Formulars, bei welchem das Event bei Tastatureingabe ausgelöst wird, nicht mehr bei Form1 liegt, sondern auf dem Button.

Wenn du jedoch in die Prozedur des "OnClick" ereignisses am schluss den Focus wieder wieder an Form1 zurückgibst:

 form1.SetFocusedControl(self); Wirst du sehen, dass dann auch wieder die Tastatureingaben funktionieren.

Achtung: Es gibt Probleme, wenn du in der Form.create schon den Button.OnClick auflöst, da dann versucht wird, dem Formular schon den Fokus zu geben, obwohl selbiges noch nicht angezeigt wird. Evtl musst du den Code, den du in Form.create hast einfach mal in Form.OnShow schreiben, oder das auslösen des Button.OnClick aus dem Form.create löschen.


Grüße,
Michael
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat