我在程序中想动态固定窗口大小如何实现? 即窗口大小本来是可以改变的,运行某个函数使其大小不可改变,并取消最大化功能??

解决方案 »

  1.   

    在CMainFrame类中添加以下代码
    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_MAXIMIZEBOX;  //禁用最大化按钮
     cs.style&=~WS_THICKFRAME;  //禁止调整窗口大小
     cs.cx=800;   //固定窗口宽度
     cs.cy=600;   //固定窗口高度(包括菜单栏等) return TRUE;
      

  2.   

     cs.style&=~WS_MAXIMIZEBOX; //禁用最大化按钮
     cs.style&=~WS_THICKFRAME; //禁止调整窗口大小
     cs.cx=800; //固定窗口宽度
     cs.cy=600; //固定窗口高度(包括菜单栏等)
      

  3.   

    你是这个意思吧
    void CYourDlg::OnBnClickedButton1()
    {
    ModifyStyle(WS_MAXIMIZEBOX, NULL);
    ModifyStyle(WS_SIZEBOX, NULL);
    PostMessage(WM_NCLBUTTONDOWN, 10, 10);
    }
      

  4.   

    VC中创建不可改变大小的窗口,及其限制窗口大小的办法
    http://www.builder.com.cn/2008/0323/779905.shtml
      

  5.   

    4楼已经回答了这个问题~~~
        ModifyStyle(WS_MAXIMIZEBOX, NULL);
        ModifyStyle(WS_SIZEBOX, NULL);
        PostMessage(WM_NCLBUTTONDOWN, 10, 10);
      

  6.   


    AfxGetMainWnd()->ModifyStyle(WS_MAXIMIZE|WS_MAXIMIZEBOX|WS_THICKFRAME, 0);
    AfxGetMainWnd()->SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_NOMOVE | SWP_DRAWFRAME); 
      

  7.   


    怎么 那个
    cs.cx=4000; //固定窗口宽度
     cs.cy=5000; //固定窗口高度(包括菜单栏等)
    更改了。没有变化