大侠,求救!一时没办法解决,只好找网路上的朋友们帮帮忙
如何实现多文档启动时最大化,并去除ChildFrame最大化、最小化 以及关闭按钮,并保证窗口在切换时始终保持子窗口最大化形式。(最好答案比较有代表性)
请大侠们帮帮忙!谢谢

解决方案 »

  1.   

    重写 CChildFrame::PreCreateWindow
    加上cs.style&=~(WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX); 
      

  2.   

    上面给的 有点为题。
    自己试了下。
    cs.style |= WS_CHILD | WS_VISIBLE | WS_OVERLAPPEDWINDOW |WS_MAXIMIZE;
      

  3.   

    我封装了个tabbar控件实现切换
      

  4.   

    那还有必要用多文档么,用个对话框加个tab ctrl不就是你要的效果了
      

  5.   

    我所想要实现的是在文档视图类处理一些一般不用对话框处理的程序,比如像PDF阅读器,可以实现同事打开多个文档
      

  6.   

    那用基于FormView的单文档多好呀,再加个tabbar控件切换
      

  7.   


    BOOL CXXApp::InitInstance()
    {
    //最后增加这两行
    pMainFrame->ShowWindow(SW_SHOWMAXIMIZED);          //主窗口最大化
    pMainFrame->UpdateWindow();
    }//子窗口最大化
    void CChildFrame::ActivateFrame(int nCmdShow) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if(GetMDIFrame()->MDIGetActive())     
              CMDIChildWnd::ActivateFrame(nCmdShow);     
        else   //   else   open   maximized.     
             CMDIChildWnd::ActivateFrame(SW_SHOWMAXIMIZED);     
    }//或者在对应的视图类中的(子窗口最大化)
    void CXXView::OnInitialUpdate() 
    {
    CFormView::OnInitialUpdate();
    // TODO: Add your specialized code here and/or call the base class
    CMDIChildWnd *pWnd=(CMDIChildWnd *)GetParentFrame(); 
    ASSERT( pWnd != NULL); 
    pWnd->MDIMaximize(); 
    }
    //以上的可设置主窗口最大化以及子窗口最大化。。如果要加上去除子窗口最大化最小化,而且同时子窗口一出来就是最大化的话,可以这样做
    BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    // TODO: Modify the Window class or styles here by modifying
    //  the CREATESTRUCT cs
    if( !CMDIChildWnd::PreCreateWindow(cs) )
    return FALSE;
    cs.style &= ~WS_SYSMENU ;
    return TRUE;
    }
      

  8.   

    不知道你用tab封装的是什么?view?frame?
    如果是view,那么,还是要到frame上面控制
    如果是frame,控制tab即可!
      

  9.   

    试试去掉系统菜单的那几项。ShowWindow(SW_MAXIMIZED)
      

  10.   

    试试去掉窗口系统菜单的那几项。ShowWindow(SW_SHOWMAXIMIZED)
      

  11.   


    void CXXView::OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView) 
    {
    // TODO: Add your specialized code here and/or call the base class
    CMDIChildWnd *pWnd=(CMDIChildWnd *)GetParentFrame(); 
            ASSERT( pWnd != NULL); 
            pWnd->MDIMaximize();
    CFormView::OnActivateView(bActivate, pActivateView, pDeactiveView);
    }
    如何把所有的子窗口不管是活动还是被隐藏在后面看不到的都最大化?(不要跟我说当她变成活动窗口再设置最大化)只能想到这个办法。但是有缺陷,利用向导添加上面的这个函数,再加上代码。不过这样的话你每个窗口都要加进去这些代码。就是当发现窗口的时候就会最大化.如果你是子窗口是派生于CDialog那就不太清楚了。