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?