如题,就是使窗口的大小固定。
PreCreateWindow中要写些什么呢?谢谢!!

解决方案 »

  1.   

    响应
    case WM_GETMINMAXINFO:
             MINMAXINFO* pMMinfo;
    pMMinfo=(MINMAXINFO*)lParam;
    pMMinfo->ptMinTrackSize.x=1;
    pMMinfo->ptMinTrackSize.y=100;
    pMMinfo->ptMaxSize.x=800;
    pMMinfo->ptMaxSize.y=600;
    pMMinfo->ptMaxTrackSize.x=800;
    pMMinfo->ptMaxTrackSize.y=600; return 1;上面是SDK的写法...相信用MFC来写也很容易!
      

  2.   

    ptMinTrackSize为该窗口所能缩到的最小尺寸...
    ptMaxTrackSize为该窗口所能到达的最大尺寸...
    ptMaxSize为点击最大化按钮后的尺寸...ptMaxSize可以比ptMaxTrackSize小!
      

  3.   

    这是MSDN上的例子BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 

        // Create a window without min/max buttons or sizable border 
        cs.style = WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;    // Size the window to 1/3 screen size and center it 
        cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3; 
        cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3; 
        cs.y = ((cs.cy * 3) - cs.cy) / 2; 
        cs.x = ((cs.cx * 3) - cs.cx) / 2;    // Call the base-class version
        return CFrameWnd::PreCreateWindow(cs); 
    }
      

  4.   

    void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) 
    {
    // TODO: Add your message handler code here and/or call default
    // lpMMI->ptMaxPosition lpMMI->ptMinTrackSize.x=1;
    lpMMI->ptMinTrackSize.y=100;
    lpMMI->ptMaxSize.x=800;
    lpMMI->ptMaxSize.y=600;
    lpMMI->ptMaxTrackSize.x=800;
    lpMMI->ptMaxTrackSize.y=600;
    CMDIFrameWnd::OnGetMinMaxInfo(lpMMI);
    }
      

  5.   

    上面是MFC的写法 LIFEForSoft(据我所知)所说的是窗口的初始大小...
      

  6.   

    up to LIFEForSoft(据我所知)