所謂的隐藏是程式啟動後不顯示主窗體。
網上介紹了很多方法,是否達到效果,衆說紛纭,這裡隻介紹一種在項目中實際應用到的切實可行的方法。
這裡假設主窗體為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)即可。