例:
如果多个窗口已经建立,如何通过一个菜单找到某一子窗口,
将其最大化显示为当前窗口?

解决方案 »

  1.   

    我 看不懂,,主题 和内容有什么联系...
    CMDIChildWnd::MDIMaximize()void CMainFrame::OnMaximizeWindow() 
    {
       BOOL maximized;
       CMDIChildWnd* child = MDIGetActive(&maximized);
       if (child && (!maximized))
          child->MDIMaximize();   // or MDIMaximize(child); 
    }
      

  2.   

    谢谢E17,我前面没讲清楚,
    我的意思是:
    在多文档中,有两个模板,我创建了两个菜单,每个菜单对应一个模板,
    菜单中实现一下功能,
    if ( 该模板已经创建一个窗口 )
       激活显示这个窗口,并将其最大化;
    else
       新建一个窗口;
      

  3.   

    还没找到相关的函数,只能提供一个笨方法:
        可以给每个模板添加一个变量bCreated,如果模板被创建,bCreated=true; 反之bCreated=false;通过判断bCreated来确定是创建窗口还是激活窗口
      

  4.   

    CDocTemplate::GetFirstDocPosition()
    CDocTemplate::GetNextDoc
      

  5.   

    // On CYourView member function
    CMDIChildWnd * pChildFrm = (CMDIChildWnd *)GetParent();
    pChildFrm->MDIMaximize();
      

  6.   

    if(pwnd->isicon())
    {
       pwnd->ShowWindow(SW_SHOWNORMAL);
    }
      

  7.   

    好像上面都要用到窗口的句柄,
    我是用如下代码打开文档的,应该怎么获取所对应窗口的句柄呢?
    POSITION curTemplatePos = GetFirstDocTemplatePosition();
    while(curTemplatePos != NULL)
    {
             CDocTemplate* curTemplate = GetNextDocTemplate(curTemplatePos);
    CString str;
    curTemplate->GetDocString(str, CDocTemplate::docName);
    if(str == _T("Hello"))
    {
    curTemplate->OpenDocumentFile(NULL);
    return;
             }
    }