为了让窗口不能太小,也就是限制窗口的最小尺寸,我在Onsize里面写了代码,当尺寸小于我规定的尺寸时,就让width=init_x,height=init_y,然后MoveWindow(),可是会发现闪烁,有谁知道其中的原因,最好能提供不闪烁,而且又能限制大小尺寸的源码。感谢。

解决方案 »

  1.   

    void CXXXX::OnSize(UINT nType, int cx, int cy) 
    {
          if(cx > 100)
          {
    CXXXPUBLIC::OnSize(nType, cx, cy);
           }
    }
      

  2.   

    add message handler for WM_GETMINMAXINFO message
      

  3.   

    void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) 
    {
    // TODO: Add your message handler code here and/or call default
    // 设置Frame的最小尺寸为屏幕的4/5 lpMMI->ptMinTrackSize.x = ::GetSystemMetrics(SM_CXSCREEN) * 4 / 5;
    lpMMI->ptMinTrackSize.y = ::GetSystemMetrics(SM_CYSCREEN) * 4 / 5; CFrameWnd::OnGetMinMaxInfo(lpMMI);
    }