我在创建基于文档对话框的工程时,没有勾选“默认最大化”显示,但实际工作中需要做到这一点。
昨天在搜索了半天相关的方法,现总结如下:
- 方法一:重载CMainFrame的ActivateFrame函数,加入代码nCmdShow = SW_SHOWMAXIMIZED;
void CMainFrame::ActivateFrame(int nCmdShow)
{
// TODO: 在此添加专用代码和/或调用基类
nCmdShow = SW_SHOWMAXIMIZED;
CFrameWnd::ActivateFrame(nCmdShow);
}
- 方法二:重载CMainFrame的PreCreateWindow函数,代码如下:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: 在此处通过修改
// CREATESTRUCT cs 来修改窗口类或样式
cs.cx=::GetSystemMetrics(SM_CXSCREEN);
cs.cy=::GetSystemMetrics(SM_CYSCREEN);
return TRUE;
}