OninitDialog() bei Abgeleitetem CWnd Control

EriFo

Erfahrenes Mitglied
Hiho,

·Einleitung·
hab jetzt mal kurz "gegoogle" und hier im Forum gesucht aber nixt gefunden was annähernd mein Problem angeht.

·Situation·
Ich hab mir in MFC eine eigene Klasse von CWnd abgeleitet die als Control normal im Dialog mitlaufen soll. Das klappt auch alles soweit wunderber.

Aber ein bisher nur unschöner Umstand erweist sich jetzt als Problem - und zwar nehme ich alle Initialisierungen innerhalb dieses Controls in OnPaint vor, da kein OnInitDialog() verfügbar ist.

Im Assistenten ist die gar nicht vorhanden und auf eigene Faust hinzufügen klappt nicht, da WM_INITDIALOG nicht gesendet wird (bzw. ich sie nicht an der richtigen Stelle abgreife )

·Fage·
Weis jemand wo ich die Variablen meines Eigenen Ctrl's initialisieren kann >bevor< OnInitDialog() von dem Dialog aufgerufen wird indem das Control sein Dasein fristet ?

M.f.G. Erik
 
Zuletzt bearbeitet:
WM_INITDIALOG kommt, wie der Name eigentlich schon andeutet, nur für Dialoge.

Wenn du dein Control selbst mit Create erstellst, die Initialisierung in OnCreate.

Wenn du dein Control über den Assistenten mit einer ID verknüpft hast, dann geht das WM_CREATE über die Bühne, bevor die Klasse attach-ed ist. In dem Fall deine Initialisierung in PreSubclassWindow einsetzen. Das ruft MFC auf, direkt nachdem das HWND an dein Control geknüpft wurde.
 
Klappt super - vielen Dank.
Da hätte ich mich dumm und dusselig gesucht - in PreSubclassWindow hätt ich bestimt nicht versucht.

M.f.G. Erik
 
Zurück