OnEnChange wird im Dialogfenster nicht aufgerufen



  • Guten Tag

    Ich habe ein Dialogfeldbasierendes Programm, bei dem ich mittels OnEnChange über Änderungen der Eingabefelder benachrichtigt werde.
    Bei den Eingabefeldern handelt es sich um von CEdit abgeleitete Klassen.

    Soweit funktioniert das Ganze ganz brauchbar.

    Doch seit ich in meiner von CEdit abgeleiteten Klasse OnEnChange abarbeite, wird in der Dialogfeldklasse diese Nachricht nicht mehr behandelt.

    Was muss ich machen damit in beiden Klassen nacheinander diese Nachricht abgearbeitet wird?

    mfg Fred


  • Mod

    Das geht so gar nicht. Wenn Du über die Reflektion eine Nachricht behandelst, dann ist sie behandelt. Imho gibt es hier keinen Makro, der beides erlaubt. Schau Dir mal OnChildNotify direkt an. Damit sollte es gehen.Du musst halt auf die Makros verzichten.



  • Du könntest auch von deiner CEdit-Klasse nach dem du OnEnChange abgearbeitet hast mittels SendMessage eine WM_MESSAGE Nachricht an dein Parent-Fenster schicken.



  • Ich habe inzwischen eine Lösung gefunden die so wie es aussieht funktioniert.
    Ich verwende einfach OnEnUpdate() in der von CEdit abgeleiteten Klasse anstatt OnEnChange().
    Damit wird die Dialogfeldklasse nicht beeinträchtigt.

    @Martin Richter:
    Danke für den Hinweis.
    Bei der nächsten Änderung werde ich es auf diese Arbeitsweise umbauen.

    @Source2702:
    Das hatte ich schon ausprobiert bevor ich hier nachgefragt habe.
    Damit bekommt man leider eine nette Endlosschleife da die Dialogfeldklasse die Nachricht sofort an die von CEdit abgeleitete Klasse weiterleitet.

    Vielen Dank für eure Hilfe.


Log in to reply