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?


  • Mod



  • 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.


Anmelden zum Antworten