多个文档界面(MDI)选项卡式组功能使多个文档界面(MDI)应用程序能够在 MDI 工作区中显示一个或多个制表窗口(或选项卡式窗口组,称为 制表位组)。 选项卡式窗口可以垂直或水平对齐。 如果应用程序托管多个 MDI 选项卡式组,则组由拆分器分隔。
特点
以下是 MDI 选项卡式组的功能:
应用程序可以动态创建选项卡式窗口。
应用程序可以水平或垂直对齐选项卡式窗口。
将用拆分器分隔选项卡式窗口组。 用户可以使用拆分器调整选项卡式组的大小。
用户可以在组之间拖动单个选项卡。
用户可以拖动单个选项卡以创建新组。
用户可以使用快捷菜单移动选项卡或创建新组。
应用程序可以保存并加载选项卡式窗口的布局。
应用程序可以保存和加载 MDI 文档列表。
应用程序可以访问各个选项卡式组并修改其参数。
使用 MDI 选项卡式组
以下是通常使用 MDI 选项卡式组执行的任务:
若要为主框架窗口启用 MDI 选项卡式组,请调用 CMDIFrameWndEx::EnableMDITabbedGroups。 此方法的第二个参数是类的
CMDITabInfo
实例。 可以在调用CMDIFrameWndEx::EnableMDITabbedGroups
前使用默认参数或修改它们。若要在运行时修改 MDI 选项卡式组的属性,请创建或修改
CMDITabInfo
对象并再次调用CMDIFrameWndEx::EnableMDITabbedGroups
若要获取 MDI 选项卡式窗口的列表,请调用
CMDIFrameWndEx::GetMDITabGroups
。若要在活动选项卡式组旁边创建新的 MDI 选项卡式组,请调用
CMDIFrameWndEx::MDITabNewGroup
。若要将输入焦点移动到选项卡式组的上一个或下一个窗口,请调用
CMDIFrameWndEx::MDITabMoveToNextGroup
。确定窗口是否是 MDI 选项卡式组调用
CMDIFrameWndEx::IsMemberOfMDITabGroup
的成员。若要确定是否为主框架窗口启用了 MDI 选项卡或 MDI 选项卡式组,请调用
CMDIFrameWndEx::AreMDITabs
。 若要仅确定是否启用了 MDI 选项卡式组,请调用CMDIFrameWndEx::IsMDITabbedGroup
。若要在用户单击选项卡或将其拖动到另一个 MDI 选项卡组时显示快捷菜单,请在 -derived 类中
CMDIFrameWndEx
重写CMDIFrameWndEx::OnShowMDITabContextMenu
。 如果未实现此方法,应用程序将不会显示快捷菜单。若要在应用程序中保存 MDI 选项卡式组的布局,请调用
CMDIFrameWndEx::SaveMDIState
。 若要加载以前保存的 MDI 选项卡式组配置文件,请调用CMDIFrameWndEx::LoadMDIState
。 还可以调用这些方法来加载或保存 MDI 应用程序中打开的文档列表。 有关保存和加载 MDI 状态的详细信息,请参阅 CMDIFrameWndEx::LoadMDIState。