Einzelnen Beitrag anzeigen

luckystar85

Registriert seit: 21. Dez 2004
Ort: Rostock
138 Beiträge
 
Delphi 2009 Professional
 
#1

KeyUp vor Basisklasse abfangen

  Alt 28. Apr 2007, 12:34
Moinsen,

ich habe viele MDIChild die alle von einer Basisklasse abgeleitet sind. In der Basisklasse wird das FormKeyUp abgefangen und ausgewertet.
Delphi-Quellcode:
If ( Key = VK_ESCAPE ) And ( fEditMode In [emEdit, emAdd] ) Then
  btn_Cancel.Click
Else If ( Key = VK_Return ) And ( fEditMode In [emEdit, emAdd] ) Then
  btn_EditDataset.Click;
Wenn man Enter drückt dann sollen die Daten gleich gespeichert werden und bei Escape soll abgebrochen werden. Das ist auch bei 9 von den 10 MDIChild richtig so. Bei dem 10. habe ich ein RichEdit drauf und dort soll ein Enter halt einen Zeilenumbruch erzeugen und kein speichern der Daten. Ich habe jetzt schon versucht das FormKey in der abgeleiteten Form abzufangen, aber die Basisklasse wird halt zuerst ausgeführt und dann erst die Ableitung. Habe auch versucht in der Basisklasse den Sender auszuwerten, aber der hat da die Form und nicht das Control drinne. Habe auch versucht das WM_KeyUp abzufangen, aber das wird auch zu spät ausgelöst.
Habt ihr eine Idee oder Erfahrungen mit dem Problem?
Michael Klüber
Delphi ist was solides und besteht nicht wie C/C++ Quelltext nur aus Kommentaren.
  Mit Zitat antworten Zitat