我自己建了一个类,比如:LBUTTONDOWN,但是,只在对话框类好用,怎么在我自己建的类中不能响应呢?

解决方案 »

  1.   

    对于这些消息,只有基于CWnd的类才能响应
      

  2.   

    同意flyelf,你的这个LBUTTONDOWN应该属于窗口消息,只有继承于CWnd的类才能得到命令传递。
      

  3.   

    你要从CCmdTarget继承类才可能响应消息,对于LBUTTONDOWN的消息,你要保证在到达你的类之前没有被其他类处理结束,这样才会被你的类处理。通常在CWnd里面有处理这样消息的默认函数,所以如果你的类不是从CWnd派生,消息便无法到达你的类,哈哈!
    简易楼主阅读<<深入浅出MFC>>!!!
      

  4.   

    怎么继承啊?我的是从CTREECTRL中继承的呀!
      

  5.   

    CTreeCtrl应该可以的。覆盖这个函数 WindowProcLRESULT XXX::WindowProc(...)
    {
      switch(message)
     {
       case LBUTTONDOWN:
       //your process
       return 0;
    .............................
     } return CTreeCtrl::WindowProc(message, wParam, lParam);
    }