在vc中如此设置时没有问题的但是在vs中就无法改变窗口的大小
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWndEx::PreCreateWindow(cs) )
return FALSE;
// TODO: 在此处通过修改
//设置窗口大小:400*340
cs.cx=400;
cs.cy=340;
return TRUE;
}
原因: vs中CMainFrame派生于CFrameWndEx,而这个类会将窗体大小都保存在注册表中。以前vc中CMainFrame派生于CFramWnd;CFrameWndEx类会把窗口大小保存到注册表中。CFrameWndEx类派生的应用程序在下次打开时会记住上次关闭前的窗口状态并以上次关闭前窗口的大小和位置出现,而窗口的大小和位置刚好保存在注册表中 [HKEY_CURRENT_USER\Software\应用程序向导生成的本地应用程序]\worksapce\windowplacement\下MainWindowRect删除即可。