我从CCtrlTree派生了一个类,在它的=NM_DBLCLK消息处理中向主窗口发送了一个双击的通知消息,主窗口处理完后,流程又转到了这个派生类的=NM_DBLCLK消息处理函数中,循环起来了,为什么啊?

解决方案 »

  1.   

    你是不是没有中断它,还调用了defwindowproc
      

  2.   

    lizmei001(暗黑) ,不明白,我没掉用defwindowproc
      

  3.   

    CTreeCtrl的派生类收到的=NM_DBLCLK通知本身就从主窗口反射回来的,在这里向主窗口发NM_DBLCLK通知当然会被再次反射回来。
      

  4.   

    你的子类处理完返回TRUE,截断对该消息的传递
      

  5.   

    windows中有一类消息称为反射消息。意思就是子窗口的消息发送到父窗口,父窗口认为应该有子窗口处理,把消息发回子窗口。详细可以参考MSDN中Handling reflected message。当然消息不会来回反射的:)