一般的做法是在 C**App::InitInstance()中,修改成这样:
{
//...
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
m_pMainWnd->UpdateWindow();
//...
}
或 者,还在 CMainFrame::PreCreateWindow(CREATESTRUCT& cs)中,添加:
{
//...
cs.style |= WS_MAXIMIZE;
//...
}
这种做法能产生窗口最大化,但效果是显示的时候窗口从普通大小"闪"到最 大化。还有的做法,是先将窗口隐藏,然后再最大化。那么怎样使窗口正常一开始出现就最大化?看看下面的流程,从 C**App::InitInstance()中的ProcessShellCommand(...)开始:
{
//...
//ProcessShellCommand 中第一次显示了窗口
if (!ProcessShellCommand(cmdInfo))
return FALSE;
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
m_pMainWnd->UpdateWindow();
//...
}
->CWinApp::ProcessShellCommand
->AfxGetApp()->OnCmdMsg(ID_FILE_NEW, 0, NULL, NULL)
//如果 你自己处理了ID_FILE_NEW要调用CWinApp::OnFileNew()
->CWinApp::On
vc++ 窗口最大化方法
最新推荐文章于 2023-06-08 09:42:33 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)