我想让MFC MDI程序中所有文档初始时便最大化,而且不想让用户缩小文档窗口,如何才能去掉文档最大化时菜单右边的窗口按钮呢?如果有个sample就更好了。

解决方案 »

  1.   

    在.cpp得InitInstance()里写m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    if( !CFrameWnd::PreCreateWindow(cs) )
    return FALSE;
    // TODO: Modify the Window class or styles here by modifying
    //  the CREATESTRUCT cs cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_PREFIXTITLE   /*FWS_ADDTOTITLE*/
    | WS_THICKFRAME | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_MAXIMIZE; return TRUE;
    }
    把WS_MAXIMIZEBOX 去掉
      

  2.   

    BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    // TODO: Modify the Window class or styles here by modifying
    //  the CREATESTRUCT cs
    cs.style &= ~WS_MINIMIZEBOX; // 使不能最小化
    if( !CMDIChildWnd::PreCreateWindow(cs) )
    return FALSE; return TRUE;
    }
      

  3.   

    BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    // TODO: Modify the Window class or styles here by modifying
    //  the CREATESTRUCT cs
    cs.style &= ~WS_MINIMIZEBOX; // 使不能最小化
    if( !CMDIChildWnd::PreCreateWindow(cs) )
    return FALSE; return TRUE;
    }
      

  4.   

    CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
    {
    if( !CFrameWnd::PreCreateWindow(cs) )
    return FALSE;
    // TODO: Modify the Window class or styles here by modifying
    //  the CREATESTRUCT cs cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_PREFIXTITLE   /*FWS_ADDTOTITLE*/
    | WS_THICKFRAME | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_MAXIMIZE; return TRUE;
    }