Архитектура документа / представления MFC — создайте документ без начального представления

Я перенесу некоторый старый код C ++ из старой среды сборки (VS2003) в (немного) более новую (VS2010) — более новая IDE не подходит по разным причинам. Я пытаюсь создать его с минимальным количеством изменений

Он загружает набор представлений из сохраненного файла. Что я заметил, так это то, что при сборке на VS2010 всегда есть один дополнительный вид. Я пришел к выводу, что эта версия MFC должна создавать начальное представление, в то время как старая версия не создавала.

Я полагаю, загрузив их все, я мог бы удалить нежелательный вид, но мне интересно, есть ли более аккуратный способ заставить его не создавать нежелательный вид в первую очередь?

2

Решение

посмотри на некоторые NewDocument() вызов в классе инициализации приложения. Возможно, вы смешали какой-то старый код с кодом, сгенерированным мастером.

1

Другие решения

Я имею в виду, что у вас есть приложение 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;

и при запуске у вас не будет нового представления / документа.

0

По вопросам рекламы [email protected]