命令传送示例

为了说明,从 MDI 应用程序的编辑菜单上的清除所有菜单项考虑命令消息。 假设此命令的处理程序函数恰好是应用程序的文档类的成员函数。 这里演示该在用户选择菜单项后命令如何达到其处理程序:

  1. 主框架窗口首先收到命令消息。

  2. 主 MDI 框架窗口赋予当前活动的 MDI 子窗口机会来处理命令。

  3. MDI 子框架窗口中的标准路由在检查其自己的消息映射之前赋予其视图一个此命令的机会。

  4. 视图没有首先检查其自己的消息映射,然后,如果未处理则将命令路由到与其关联的文档。

  5. 文档检查其消息映射并找到一处理程序。 文档成员函数调用并终止路由。

如果文档没有处理程序,则将命令路由到其文档模板。 然后命令将返回视图然后返回框架窗口。 最后,框架窗口中检查其消息映射。 如果此检查也失败,命令将路由回主 MDI 框架窗口然后到应用程序对象 - 未处理命令的最终目标。

请参见

概念

框架如何调用处理程序