在MDI应用程序子窗口最大化的时候,在CChildFrame::PreCreateWindow函数中修改cs.style属性就可以达到子窗口最大化。
同理,我试着改变CChildFrame::PreCreateWindow函数中修改cs.style属性来达到主窗口最大化,但是失败了。需要用CXXXApp::InitInstance()中调用pMainFrame->ShowWindow(SW_SHOWMAXIMIZED)才行?

解决方案 »

  1.   

    主窗口是CMainFrame ,不是 CChildFrame
      

  2.   

    是CMainFrame也不能达到最大化效果
      

  3.   

    重载ActivateFrame虚函数,令nCmdShow = SW_SHOWMAXIMIZED;
      

  4.   


            cs.style |= WS_MAXIMIZEBOX | WS_MAXIMIZE;
    int nWidth;          // window width
    int nHeight;          // window height
    nWidth = GetSystemMetrics(SM_CXSCREEN);//获得系统的分辨率
    nHeight = GetSystemMetrics(SM_CYSCREEN);//获得系统的分辨率

    cs.cx=nWidth;
            cs.cy=nHeight;转:http://hi.baidu.com/lz3272/blog/item/236932126131f70b5aaf538a.html
      

  5.   

    3楼是说楼主的问题里已经有了答案。如果要使窗体最大化 
    可以在CWinApp::IninInstance()里面 
    m_pMainWnd-> ShowWindow(SW_SHOW)的前面加一句: 
    m_pMainWnd-> ShowWindow(SW_SHOWMAXMIZED);cs.style |= WS_MAXIMIZE; 改变的是窗口的风格,但系统显示窗口是根据传给ShowWidnow的参数来显示的。因此你只能改变该参数。 
    要改变参数你可重载ActivateFrame()在其中加入mCmdShow   =   SW_SHOWMAXIMIAED就可以了。 
    注意要加在CFrameWnd::ActivateFrame(m_CmdShow)前。