VS2010开发MFC程序无法通过改变CREATESTRUCT结构来控制窗体大小的解决方法

VS2010开发MFC程序无法通过改变CREATESTRUCT结构来控制窗体大小的解决办法

在使用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();

}

 

即可