在工程里派生了一个CDialog类 并且关联了一个对话框模板。
我想问下 在处理消息的时候是调用了哪个对话框窗口过程啊,
在SDK里面每个对话框自己都会写个相应的窗口过程,在mfc里面如果派生了2个对话框类
是不是就帮我产生2个窗口过程啊。
还有控件也一样 改写窗口过程用SetWindowlong 如果我在对话框里面搞了3个edit box 
是不是就有三个窗口过程。初学者望高手赐教!

解决方案 »

  1.   

    windows系统中任意一个窗口(不管是父窗口还是子窗口,是普通窗口还是对话框),永远有且仅有一个窗口过程函数,不存在多个窗口过程函数的说法
    如果“在mfc里面如果派生了2个对话框类”,则子类的窗口过程函数会调用基类的窗口过程函数
    如果“我在对话框里面搞了3个edit box”,则这3个edit box都指向同一个窗口过程函数ps:使用spy ++ 看看,你就会很清楚了
      

  2.   

    对MFC来说只有2个窗口过程,参考:
    AfxWndProc(hWnd, nMsg, wParam, lParam);
    AfxDlgProc(hDlg, message, wParam, lParam); 
      

  3.   

    在mfc里面只有一个窗口过程函数。跟win32里面差不多对MFC来说只有2个窗口过程,参考:
    AfxWndProc(hWnd, nMsg, wParam, lParam);只是mfc将其封装在了cFramWnd里面了