点击"打开"菜单时,如果已经打开了一个该类型的MDI子窗口,就在该窗口打开选择的文档,不再开一个新的子窗口

解决方案 »

  1.   

    可以做一个全局变量count = 0 当创建了某种类型的子窗口以后count++,关闭子窗口的时候count--
    在"打开"时判断count =1 就return;就行了
      

  2.   

    用文档模板获得当前已打开的文档类型,你需判断的文档类型是否已经存在.
    POSITION ps = theApp.m_pDocTemplateSel->GetFirstDocPosition();
    m_pDocTemplateSel是你在App文件中设置的.
    while(ps)
    {
        CDocument* pDoc = theApp.m_pDocTemplateSel->GetNextDoc(ps);
        if(pDoc.IsKindOf(CLASS_RUNTIME("xxxxxx")))
                 {
                    //获得文档对应的Frame,设置为当前活动.
                    return;
                 }
    }
    //下面做打开文档的工作