我的程序在窗口最大化时,下面的状态栏会被windows的任务栏挡住。在程序中,应该在哪调整窗口最大化时的窗口尺寸呢?望高手指点!

解决方案 »

  1.   

    void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) 
    {
    // TODO: Add your message handler code here and/or call default
    CRect rectWindow;
        GetWindowRect(&rectWindow);    CRect rectClient;
        GetClientRect(&rectClient);
          // get offset of toolbars, scrollbars, etc.
        int nWidthOffset = rectWindow.Width() - rectClient.Width();
        int nHeightOffset = rectWindow.Height() - rectClient.Height();    lpMMI->ptMinTrackSize.x = 400 + nWidthOffset;//这是设置对小范围,最大的范围也是一样
        lpMMI->ptMinTrackSize.y = 1 + nHeightOffset;
    //lpMMI->ptMaxTrackSize.x =
    CMDIFrameWnd::OnGetMinMaxInfo(lpMMI);
    }
      

  2.   

    呵呵 你一定没设置WS_THICKFRAME和WS_CAPTION属性 
    在BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)函数里,添加
    cs=cs|WS_THICKFRAME|WS_CAPTION;就好了。
    给分额
      

  3.   

    原因是他们在BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)函数里,添加 
    了cs.style &= ~WS_MAXIMIZEBOX。谢谢大家了