我在class CChildFrame : public CMDIChildWnd的
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style &= ~FWS_ADDTOTITLE; //不显示子窗体标题;
cs.style |= WS_MAXIMIZE;
if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
return TRUE;
}
发现没用,这是为什么?WM_MINIMIZE却可以!最后没办法,我用如下方法解决。
void CChildFrame::ActivateFrame(int nCmdShow)
{
// TODO: 在此添加专用代码和/或调用基类
MDIMaximize(); // 最大化窗体;
CMDIChildWnd::ActivateFrame(nCmdShow);
}
请问各位大大,一般要实现初始花时便最大化,如何解决?
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style &= ~FWS_ADDTOTITLE; //不显示子窗体标题;
cs.style |= WS_MAXIMIZE;
if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;
return TRUE;
}
发现没用,这是为什么?WM_MINIMIZE却可以!最后没办法,我用如下方法解决。
void CChildFrame::ActivateFrame(int nCmdShow)
{
// TODO: 在此添加专用代码和/或调用基类
MDIMaximize(); // 最大化窗体;
CMDIChildWnd::ActivateFrame(nCmdShow);
}
请问各位大大,一般要实现初始花时便最大化,如何解决?
方法一:
在CChildFrame::PreCreateWindow(CREATESTRUCT& cs)函数中,加了
cs.style|=WS_VISIBLE|WS_MAXIMIZE;,可以实现了
方法二:
用ClassWizard为CChildFrame类添加ActiveFrame消息
void CChildFrame::ActivateFrame(int nCmdShow)
{
if(GetMDIFrame()->MDIGetActive())
CMDIChildWnd::ActivateFrame(nCmdShow);
else // else open maximized.
CMDIChildWnd::ActivateFrame(SW_SHOWMAXIMIZED); } 我都试过。