2

我將一些舊的C++代碼從舊的構建環境(VS2003)轉移到(稍微)較新的(VS2010) - 由於各種原因,較新的IDE並不合適。我試圖用盡可能少的變化來構建它,因爲我可以管理。MFC文檔/視圖體系結構 - 創建沒有初始視圖的文檔

它從保存的文件中加載一組視圖。我注意到,當在VS2010上構建時,總會有一個額外的視圖。我的結論是,這個版本的MFC必須創建一個初始視圖,而舊版本沒有。

我想已經加載他們所有我可以刪除不需要的視圖,但我想知道是否有一個更整潔的方式,讓它不要在第一個地方創建不需要的視圖?

回答

1

看看應用程序初始化類中的一些NewDocument()調用。可能你將一些舊代碼與嚮導生成的代碼混合在一起。

0

我的情況下,你有一個MDI應用程序,

// Parse command line for standard shell commands, DDE, file open 
CCommandLineInfo cmdInfo; 
ParseCommandLine(cmdInfo); 

// Dispatch commands specified on the command line 
if(! ProcessShellCommand(cmdInfo)) 
    return FALSE; 

之間,你應該簡單地說:

// suppress automatic creation of child window 
if(CCommandLineInfo::FileNew == cmdInfo.m_nShellCommand) 
    cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing; 

,並在啓動時,你會不會有新視圖/文檔。