MFC 多文檔程序 不創建默認文檔

步驟/方法

  1. 1

    新建MFC項目,項目名爲[nokongbai](根據自己的程序定,這裏只是一個示例)

  2. 2

    新建MFC多文檔程序,或者單文檔程序(這裏選項多文檔,只作爲示例,選單文檔亦可,請根據自己程序定奪),作爲示例程序,在選擇完多文檔後直接點擊【Finish】按鈕,完成項目新建,或者也可以連續點擊【Next】,一步步完成新建項目。

  3. 3

    項目新建完成後編譯(快捷方式F7),鏈接默認項目,程序沒有錯誤和警告

  4. 4

    運行MFC項目,程序自動生成空白窗口

  5. 5

    在VC++【工作區Workspace】下選擇【文檔視圖FileView】標籤頁,打開項目文件夾【源文件Source Files】下的[nokongbai.cpp]文件(如果你的項目名爲***則此處應該打開[***.cpp])

  6. 6

    在ProcessShellCommand調用之前加 cmdInfo.m_nShellCommand =CCommandLineInfo::FileNothing 。

  7. 7

    保存項目,編譯、鏈接、運行,程序不在自動生成空白窗口。

注意事項

  • 本經驗作爲示例,選擇新建MFC多文檔項目,實際編程中同樣適用於MFC單文檔程序。

  • 添加代碼:cmdInfo.m_nShellCommand =CCommandLineInfo::FileNothing

  • 原理:在InitInstance()中,有一個命令行的執行過程,當命令行上沒有參數時,函數ParseCommandLine(cmdInfo)會將CCommandLineInfo::m_nShellCommand成員置爲CCommandLineInfo::FileNew,這將導致ProcessShellCommand調用CWinApp::OnFileNew成員函數。這裏我們要防止程序在開始時調用OnFileNew。

發佈了64 篇原創文章 · 獲贊 11 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章