VC多文檔編程技巧(取消一開始時打開的空白文檔)

VC多文檔編程技巧(取消一開始時打開的空白文檔)web

http://blog.csdn.net/crazyvoice/article/details/6185461編程

 

VC多文檔編程技巧(取消一開始時打開的空白文檔)
在MDI程序中,當應用程序啓動時,都會自動建立一個空白窗口。但有時咱們並不但願建立這樣的空白窗口。好比,對於一個文件瀏覽器來講,空白窗口就沒有什麼意義。  

要防止空白窗口的建立,首先就要明白這個窗口是如何被建立的。在 InitInstance()中,有一個命令行的執行過程,當命令行上沒有參數時,函數ParseCommandLine(cmdInfo)會將 CCommandLineInfo::m_nShellCommand成員置爲CCommandLineInfo::FileNew,這將致使 ProcessShellCommand調用CWinApp::OnFileNew成員函數。要想防止程序開始時就調用OnFileNew,解決方法之一是去掉與命令行有關的代碼,可是這樣就沒有了命令行處理功能。另外一種方法是在ProcessShellCommand調用以前加一句 cmdInfo.m_nShellCommand =CCommandLineInfo::FileNothing。


啓動時不新建一個空文檔 
InitInstance: 

if(cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew) 
    cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing; 


新建空文檔時文檔都被最大化 
CXXXView::OnInitialUpdate 

CMDIChildWnd *pWnd=(CMDIChildWnd *)GetParentFrame();  
pWnd->MDIMaximize(); 瀏覽器

相關文章
相關標籤/搜索