CMainFrame第一次就最大化,解决闪烁问题

来源:互联网 发布:联通4g网络 编辑:程序博客网 时间:2024/04/28 20:48

我们常用的做法为:
InitInstance修改m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
或者CMainFrame::PreCreateWindow中添加cs.Style|=SW_SHOWMAXIMIZED;
不过实现了最大化,但是好像从非最大化变为非最大化,看起来比较闪烁,这时因为CMainFrame实际显示了两次,第一次非最大化,第二次最大化了。所以要求在第一次显示前修改窗口风格,
 //InitInstance加入一行代码
 CCommandLineInfo cmdInfo;
 ParseCommandLine(cmdInfo);
 //////////////////////////////////////////////////////////////////////////
  m_nCmdShow = SW_SHOWMAXIMIZED;//第一次就最大化代码
  //////////////////////////////////////////////////////////////////////////