所谓的隐藏是程序启动后不显示主窗体。
网上介绍了很多方法,是否达到效果,众说纷纭,这里只介绍一种在项目中实际应用到的切实可行的方法。
这里假设主窗体为CMainDialog
1、变量声明:
BOOL m_bShowWindow;
2、给变量赋初始值
CMainDialog::CMainDialog(){
m_bShowWindow = FALSE:
}
3、响应消息函数
afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
BEGIN_MESSAGE_MAP(CMainDialog, CDialog)
ON_WM_WINDOWPOSCHANGING()
END_MESSAGE_MAP()
void CMainDialog::OnWindowPosChanging(WINDOWPOS* lpwndpos)
{
if (!m_bShowWindow)
{
lpwndpos->flags &= ~SWP_SHOWWINDOW;
}
__super::OnWindowPosChanging(lpwndpos);
// TODO: 在此处添加消息处理程序代码
}
4、显示窗体
需要在显示窗体之前,设定m_bShowWindow=TRUE,之后ShowWindows(SW_SHOW)即可。