SubClassDlgItem und BN_CLICKED
-
Hallo, ich arbeite hier gerade mit einer abgeleiteten CButton Klasse und würde gern im Parent BN_CLICKED Nachrichten empfangen nur leider werden die Handler nie aufgerufen nachdem ich den Button subclasse. Gibts da einen Trick? Alles was ich im Netz so finde läuft auf user defined window messages hinaus

Viele Grüße,
connan.
-
Hallo
Kann es sein das du mit deinem Subklassing die WM_LBUTTONDOWN, WM_LBUTTONUP ...
Nachrichten abfängst, und nicht mit CallWindowProc(...) an die originale
Funktion weiter leitest ?In dem Fall muss du auch die BN_CLICKED Nachricht generieren:
patent = GetPatent(hwnd); id = GetWindowLong(hwnd,GWL_ID); SendMessage(parent,WM_COMMAND,id,(LPARAM)hwnd);
-
Danke, Du hast Recht, ich reagiere in CMyButton auf BN_CLICKED, kann ich aber diese Nachricht trotzdem irgendwie ans Parent weiterleiten?
-
http://msdn2.microsoft.com/en-us/library/eeah46xd(VS.80).aspx
ON_CONTROL_REFLECT
-
Danke Martin. Ich hatte befürchtet, daß Du sowas schreiben würdest. Daran bin ich schon ein paar mal gescheitert. Aber ich habs jetzt

Für BN_CLICKED:
Im CMyButton MessageMap den Eintrag ON_CONTROL_REFLECT(BN_CLICKED...) in ON_CONTROL_REFLECT_EX(BN_CLICKED...) ändern und den Prototyp des Handler um einen Returnwert vom Typ BOOL erweitern. Dann nur noch FALSE zurückgeben und siehe da, der Handler wird auch im Parent 'angefahren'.
Viele Grüße,
connan.