2、方法一:在CChildFrame::PreCreateWindow(CREATESTRUCT&cs)函数中,加了cs.style |= WS_VISIBLE|WS_MAXIMIZE,可以实现了
3、方法二:用ClassWizard为CChildFrame类添加ActiveFrame消息void CChildFrame::ActivateFrame(int nCmdShow){if(GetMDIFrame()->MDIGetActive())CMDIChildWnd::ActivateFrame(nCmdShow)else // else open maximized.CMDIChildWnd::ActivateFrame(SW_SHOWMAXIMIZED)}
4、主窗口最大化:在 InitStance 函数中设定 m_nCmdShow的取值.m_nCmdShow=SW_SHOWMAXMIZED //最大化
5、MDI窗口:重载 MDI Window 的PreCreateWindow函数,设置WS_MAXIMIZE
6、文档一生成就最大化:在视类重载的OnInitUpdate成员函数中加上:CMDIChildWnd *pWnd=(CMDIChildWnd *)GetParentFrame()pWnd->MDIMaximize()
void CChildFrame::ActivateFrame(int nCmdShow){
// TODO: Add your specialized code here and/or call the base class
// 最大显示
nCmdShow = SW_SHOWMAXIMIZED
CMDIChildWnd::ActivateFrame(nCmdShow)
}
单文档,一般是在主框架类做最大化(当然最好的是在程序入口处设置)
估计你的需求,应该是多文档的,这里就需要注意,每个View对应一个子框架,View的最大化,实际是子框架窗口的最大化。在childframe类中用向导添加函数activateframe,然后添加如上代码即可。
在窗口销毁函数里面删除添加WM_DESTROY 消息响应函数
CMyFrame::DestroyWindow()
{
m_pMyview->CloseWindow()
delete m_pMyview
}
你最好可以在初始化时将m_pMyview=NULL在在程序运行中可以根据需要判断窗口是否已经创建。
主菜单就是在CmainFrame里添加IDM_TEST消息响应ON_COMMAND
m_pMyframe是与m_pMyview相连的,只要m_pMyview关闭了,相应的资源就释放掉了,就像CMainFrame* pMainFrame = new CMainFrame同样不需要手动删除。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)