我在 PreCreateWindow 里修改窗体后窗口上便不再有最大化和关闭窗口的按钮。请问是为什么? 我创建的是 SDI ,仅仅是在 MainFrame 的 PreCreateWindow 里添加了下面代码:BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
//cs.cx = 500;
//cs.cy = 400;
cs.style &= !FWS_ADDTOTITLE;
cs.lpszName = "Hello World";
return TRUE;
}
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
//cs.cx = 500;
//cs.cy = 400;
cs.style &= !FWS_ADDTOTITLE;
cs.lpszName = "Hello World";
return TRUE;
}
-->
cs.style &= ~FWS_ADDTOTITLE;
调试一下就知道问题在这里:
DWORD temp = FWS_ADDTOTITLE;
temp = !FWS_ADDTOTITLE;
temp = temp & WS_EX_CONTROLPARENT;
就是这句的原因。。CREATESTRUCT cs,
这是窗体的创建结构,cs被你修改了就是修改了窗体的默认结构。。