MFC中菜单的命令响应顺序

时间:2021-02-14 07:26:40
  • 响应只可以由Doc,View,MainFrame以及APP四个类完成。

  • 响应顺序是:

    1. 点击某菜单项,框架类最先接到菜单命令消息。

    2. 框架类把接收到得这个消息交给它的子窗口,即视图类。

    3. 视图类根据命令消息映射机制查找自身是否对此消息进行了响应,如果响应了,就调用相应响应函数对这个消息进行处理,消息路由过程结束。

    4. 如果视图类未对此消息响应,交给文档类,文档类同样查找自身是否对此消息进行了响应。

    5. 如果文档类为作出响应,再交还给视图类,视图类把它交还给框架类。

    6. 框架类查看自身,如果未响应,就把该菜单消息命令交给应用程序类进行处理。

  • 如果需要交给某个子窗口响应,可以先交给MainFrame类响应,再在响应函数中调用子窗口的成员函数