Я перенесу некоторый старый код C ++ из старой среды сборки (VS2003) в (немного) более новую (VS2010) — более новая IDE не подходит по разным причинам. Я пытаюсь создать его с минимальным количеством изменений
Он загружает набор представлений из сохраненного файла. Что я заметил, так это то, что при сборке на VS2010 всегда есть один дополнительный вид. Я пришел к выводу, что эта версия MFC должна создавать начальное представление, в то время как старая версия не создавала.
Я полагаю, загрузив их все, я мог бы удалить нежелательный вид, но мне интересно, есть ли более аккуратный способ заставить его не создавать нежелательный вид в первую очередь?
посмотри на некоторые NewDocument()
вызов в классе инициализации приложения. Возможно, вы смешали какой-то старый код с кодом, сгенерированным мастером.
Я имею в виду, что у вас есть приложение 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;
и при запуске у вас не будет нового представления / документа.