BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if(!CFrameWnd::PreCreateWindow(cs))
{
return FALSE;
} cs.style &= ~WS_OVERLAPPED
cs.cy = 300;
cs.cx = 100;
return TRUE;
}
在vs2010中,为什么运行时不会按要求改变窗口大小呢?而且运行的程序我手动拖窗口右下角改变大小后,再次启动时就是改变后的大小,为什么不是按我的CREATESTRUCT变量cs.cx,cs.cy改变大小呢?
窗口大小框架自动保存在注册表里了
我记得向导里有一步应该是设置这个的
好像代码里也可以找到
不是写注册表就是系统配置的一个ini文件
不过建议你还是在ShowWindow之前MoveWindow。
cs.style := ~WS_MAXIMIZE
试一下
if( m_BCheckInSet )
{
CWnd::SetWindowPos(NULL,0,0,piWidth,piHeight ,SWP_NOZORDER|SWP_NOMOVE);
}
else
CWnd::SetWindowPos(NULL,0,0,piWidth,piHeight - 40,SWP_NOZORDER|SWP_NOMOVE);我这是按 Check 控件值(m_BCheckInSet)来改变窗口大小的例子.