代码之家  ›  专栏  ›  技术社区  ›  SmacL

如何在窗口菜单中显示可用窗口

  •  1
  • SmacL  · 技术社区  · 16 年前

    我有一个mfc mdi应用程序,最近从vs2003移植到vs2008,同时从stingray objective studio 2006 v2迁移到v10.1。在以前的应用程序版本中,如果打开了多个视图,则窗口菜单将由可用视图的枚举列表填充,例如。 1 MyViewa公司 我是说, 2 myviewB 等。。。如果我有大量的观点,我也会得到 窗户。。。 允许我选择视图的菜单选项。这种情况不再发生,这将破坏我的一些gui级回归测试。我的猜测是,此功能是由cmdiframewnd或secmdiframewnd实现的,但在文档中找不到对它的引用。有人知道我怎样才能恢复这个功能吗?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Aidan Ryan    16 年前

    我要做的第一件事是使用classwizard创建一个新的mdi应用程序,并检查您缺少的功能是否存在。如果是的话,四处看看你是否能分辨出不同之处。一个可以查看的地方可能是主菜单的菜单资源。

    如果没有内置功能来提供所需的功能,则可以使用以下伪代码动态构建菜单:

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