在使用VS1020中的VC++开发SDI程序的时候发现仅修改
BOOL CXX::PreCreateWindow(CREATESTRUCT& cs)
方法中CREATESTRUCT结构,如:
cs.x = 300;
cs.y = 200;
cs.cx = 600;
cs.cy = 400;
cs.lpszName = _T("测试程序");
cs.style = WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX;
是不能够得到想要的窗体大小的.
解决方法:
修改程序的App类中的ExitInstance方法,添加如下语句:
CleanState();//清除程序在注册表写入的状态信息
这个方法一般在以项目名称命名的.cpp文件中
得到如下:
int CXXApp::ExitInstance()
{
//TODO: 处理可能已添加的附加资源
AfxOleTerm(FALSE);
CleanState();//清除程序在注册表写入的状态信息
return CWinAppEx::ExitInstance();
}
即可