在我们使用MFC的时候,在CWinApp初始化里调用m_pMainWnd->ShowWindow(SW_HIDE)来隐藏窗口,会发现程序运行后会先闪一下窗口才隐藏。
主要原因是在CWinApp::ProcessShellCommand函数中,会首先创建窗口,并显示出来。这样在其后调用ShowWindow(SW_HIDE)会闪烁一下。
解决的办法也很简单,我们在CWinApp::ProcessShellCommand函数之前加上"m_nCmdShow = SW_HIDE"即可。
部分代码如下:
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
m_nCmdShow = SW_HIDE;
if (!ProcessShellCommand(cmdInfo))
return FALSE;
m_pMainWnd->ShowWindow(SW_HIDE);
m_pMainWnd->UpdateWindow();
如果我们要进行最大化,最小化,也是一样的。
文章评论