我有个疑惑,在CMainframe中写菜单事件跟在CXXView写菜单事件有什么区别?
例如:
对同一个菜单ID_COLOR,在void CXXView::OnColor()跟void CMainFrame::OnColor()  在这两个函数下写相同的代码:在实际执行过程中,他们有什么区别?在原理上又有什么区别?

解决方案 »

  1.   

    没什么区别 都是command消息, 发给了不同窗口。 但是我在支持mfc的atl工程中碰到和VIEW关联不相应的情况。 希望有高手说说
      

  2.   

    你可以看看《VC技术内幕》《MFC深入浅出》
      

  3.   

    看你操作的对象是view还是frame啦
      

  4.   

    你得明白这个消息路由系统,当一个时间触发的时候,windows首先考虑的是视图类的消息函数,不过一般情况下,按照OOP的思想,还是谁的时间谁处理比较好一点。
      

  5.   

    彼此被触发的顺序CView->CDocument->CFrame->CApp