2

Я переношу старый код на C++ из старой среды сборки (VS2003) в (чуть более новый) (VS2010) - более новая IDE не подходит по разным причинам , Я пытаюсь создать его с минимальными изменениями, которые я могу справиться.MFC doc/view architecture - создать документ без начального представления

Он загружает множество видов из сохраненного файла. Я замечаю, что при построении на 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; 

и при запуске, вы не будете иметь новый вид/doc.