我有一个MFC MDI应用程序,我最近从VS2003移植到VS2008,同时从Stingray Objective Studio 2006 v2移动到v10.1。在我的应用程序的先前版本中,如果我打开了多个视图,则窗口菜单将由枚举的可用视图列表填充,例如, 1 MyViewA , 2 MyViewB 等...如果我有大量观看次数,我还会获得 Windows ... 菜单选项允许我选择一个视图。这不再发生,这打破了我的一些GUI级回归测试。我的猜测是这个功能是由CMDIFrameWnd或SECMDIFrameWnd实现的,但我在文档中找不到对它的引用。有谁知道我怎么能恢复这个功能。
答案 0 :(得分:1)
我要做的第一件事是使用ClassWizard创建一个新的MDI应用程序,并检查是否存在您缺少的功能。如果是这样,请四处寻找,看看你能否分辨出什么是不同的。一个要查看的地方可能是主菜单的菜单资源。
如果没有内置功能来提供您所需的功能,您可以使用以下伪代码动态构建菜单:
foreach registered CDocumentTemplate
foreach document
foreach view
{
if (numberOfWindowMenuItems < 5)
{
Add menu item
}
else
{
Add "Windows..." menu item
break all loops;
}