管理菜单、控件栏和加速器

框架窗口管理更新用户界面对象,包括菜单、工具栏按钮、状态栏和加速器。 它还负责管理在 MDI 应用程序中共享菜单栏。

管理菜单

框架窗口使用“ 如何更新 User-Interface 对象”中所述的ON_UPDATE_COMMAND_UI机制参与更新用户界面项。 在空闲循环期间,工具栏和其他控制栏上的按钮会更新。 菜单栏上的下拉菜单中的菜单项正好在菜单下拉之前进行更新。

对于 MDI 应用程序,MDI 框架窗口管理菜单栏和标题。 当没有活动的 MDI 子窗口时,MDI 框架窗口拥有一个默认菜单,该菜单用作菜单栏。 当存在活动子窗口时,MDI 框架窗口的菜单栏就会由活动的 MDI 子窗口取代。 如果 MDI 应用程序支持多个文档类型(如图表和工作表文档),则每种类型都会将自己的菜单放入菜单栏中,并更改主框架窗口的标题。

CMDIFrameWnd 为 MDI 应用程序显示的“窗口”菜单上的标准命令提供默认实现。 具体而言,实现了“新建窗口”命令(ID_WINDOW_NEW)以创建新的框架窗口和当前文档的视图。 仅在需要高级自定义时重写这些实现。

同一文档类型的多个 MDI 子窗口共享菜单资源。 如果多个 MDI 子窗口由同一文档模板创建,则它们都可以使用相同的菜单资源,从而节省 Windows 中的系统资源。

管理状态栏

框架窗口还会将状态栏置于其工作区中,并管理状态栏的指示器。 框架窗口根据需要清除和更新状态栏中的消息区域,并在用户选择菜单项或工具栏按钮时显示提示字符串,如 “如何在状态栏中显示命令信息”中所述。

管理加速器

每个框架窗口维护一个可选的快捷键表,此表可自动为您转换键盘快捷键。 使用此机制可以轻松定义调用菜单命令的加速键(也称为快捷键)。

另请参阅

使用框架窗口