MDI应用程序的框架窗口应包含带有Window菜单的菜单栏。窗口菜单应包括在客户端窗口中排列子窗口或关闭所有子窗口的命令项。典型MDI应用程序的“窗口”菜单可能包含下表中的项目。
菜单项 | 目的 |
瓦 | 以瓦片格式排列子窗口,以便每个窗口全部显示在客户端窗口中。 |
级联 | 以级联格式排列子窗口。子窗口彼此重叠,但每个标题栏都是可见的。 |
排列图标 | 在客户端窗口的底部排列最小化的子窗口的图标。 |
关闭所有 | 关闭所有子窗口。 |
每当创建子窗口时,Windows会自动将一个新的菜单项添加到“窗口”菜单中。菜单项的文本与新子窗口的菜单栏上的文本相同。通过选择菜单项,用户可以激活相应的子窗口。当子窗口被破坏时,Windows会自动从“窗口”菜单中删除相应的菜单项。
Windows可以将最多十个菜单项添加到“窗口”菜单。当创建第十个子窗口时,Windows会将更多Windows项目添加到“窗口”菜单。选择此项将导致选择窗口对话框出现。该对话框包含一个列表框,其中包含当前可用的所有MDI子窗口的标题。用户可以通过从列表框中选择其标题来激活子窗口。
如果您的MDI应用程序支持多种类型的子窗口,请调整菜单栏以反映与活动窗口相关的操作。为此,为应用程序支持的每种类型的子窗口提供单独的菜单资源。当一种新的子窗口被激活时,应用程序应该向客户机窗口发送WM_MDISETMENU消息,传递给相应菜单的句柄。
当没有子窗口时,菜单栏应仅包含用于创建或打开文档的项目。
当用户通过使用光标键浏览MDI应用程序的菜单时,键的行为与用户导航典型应用程序菜单时的行为不同。在MDI应用程序中,控件从应用程序的窗口菜单传递到活动子窗口的窗口菜单,然后转到菜单栏上的第一个项目。