对话框里面有一个list,list 利用反射处理了 LVN_ITEMCHANGED,对话框本身也对这个消息进行了处理,可是发现对话框的处理函数未被调用,请问这种问题如何解决?保证子控件和父窗口都能对此消息做出响应。

解决方案 »

  1.   

    其实消息反射也是由父窗口来完成的,它接收到子窗口通知以后,会把它传递到子窗口,如果子窗口没有处理,才会自己处理。重载父窗口类的WndProc就可以了吧
      

  2.   

    就是一个消息被子控件用消息反射机制处理了,而包含子控件的对话框也需要处理该消息,可是发现单纯的通过mfc的向导生成的代码无法被调用,也就是说,消息被子控件处理之后,父窗口就不再处理了,这可能是mfc的默认行为。
    有没有办法让消息被子控件反射处理之后,父窗口仍然能处理呢?
      

  3.   

    反射函数返回NULL就能让父窗口响应了。不过,为什么要两个都响应呢?你的想法好怪