2009-08-06 137 views
1

我有一个MFC MDI应用程序,我最近从VS2003移植到VS2008,同时从Stingray Objective Studio 2006 v2移到了v10.1。在我的应用程序的以前版本中,如果我打开了多个视图,则窗口菜单将由可用视图的枚举列表填充,例如, 1 MyViewA2 MyViewB etc ...如果我有大量的意见,我还会得到一个Windows ...菜单选项,让我选择一个视图。这不再发生,这正在破坏我的一些GUI级别的回归测试。我的猜测是这个功能是通过CMDIFrameWnd或SECMDIFrameWnd实现的,但我在文档中找不到对它的引用。有谁知道我可以如何获得这个功能。如何在窗口菜单中显示可用的窗口

回答

1

我要做的第一件事就是用ClassWizard创建一个新的MDI应用程序,并检查缺少的功能是否存在。如果是这样,捅一下,看看你能否说出有什么不同。一个地方可能是主菜单的菜单资源。

如果没有内置的功能,提供您所需要的,你可以动态建立与下面的伪代码菜单的内容:

foreach registered CDocumentTemplate 
    foreach document 
     foreach view 
     { 
      if (numberOfWindowMenuItems < 5) 
      { 
       Add menu item 
      } 
      else 
      { 
       Add "Windows..." menu item 
       break all loops; 
      } 
+0

这是一个很值得我做什么,其分离出的问题,因为只有发生在基于Stingray的项目中。自那时以来,我一直在寻求技术支持并得到解决。感谢您的反馈。 – 2009-08-07 06:21:34