命令传送

中的职责随指令一起使用绑定到生成命令及其处理程序函数之间的消息映射连接,一个任务使用 " 属性 " 窗口。 您还必须编写大多数命令处理程序。

窗口信息通常发送到主框架窗口,但是,命令消息然后将对其他对象。 框架通过命令目标对象的标准序列,其中路由命令应具有命令的处理程序。 每个命令目标对象检查其消息映射以查看它是否可以处理传入消息。

不同的命令目标类检查其消息映射在不同时间。 通常,类路由命令对某些其他对象对在第一个机会在命令。 如果这些对象来处理该命令中的任何一个,原始类不检查自己的消息映射。 然后,则为; 如果无法提供处理程序,它会路由命令为,多个命令目标。 在下表显示 标准命令方法 如何类结构中的每个此顺序。 命令目标路由命令的常规是:

  1. 为其当前活动的子命令目标对象。

  2. 自身。

  3. 对于其他命令目标。

在昂贵是此路由结构? 比较与您的处理程序执行的用于响应命令,则路由的开销不大。 记住 framework 生成命令,仅当用户与用户界面对象进行交互。

标准命令方法

在将此类型对象接收命令。 . .

它生成自己和其他命令目标对象机会处理命令按此顺序:

MDI 框架窗口 (CMDIFrameWnd)

  1. 有效的 CMDIChildWnd

  2. 此框架窗口

  3. 应用程序 (CWinApp 对象)

文档框架窗口 (CFrameWndCMDIChildWnd)

  1. 活动视图

  2. 此框架窗口

  3. 应用程序 (CWinApp 对象)

视图

  1. 此视图

  2. 文档附加到视图

Document

  1. 文档

  2. 文档模板附加到文档

对话框

  1. 此对话框

  2. 拥有对话框的窗口

  3. 应用程序 (CWinApp 对象)

在前面的表中提到的第二列的绑定具有流水号的款目其他对象,如文档,请参见中的第一列中的相应项。 例如,那么,当您编写视图到其一个命令向前文档的第二列中,请参见 “文档”第一列中的项执行进一步小路。

请参见

概念

框架如何调用处理程序