Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Сохдание первого приложения MFC(Multiple Document)


Автор: NewLine 9.6.2006, 12:57
При запуске приложения в MFC(Multiple Document) он автоматически создает и открывает дочернее окно.
Как можно запретить создание этого окна, что запускалось только главное окно приложения.
Спасибо. 

Автор: Earnest 9.6.2006, 14:58
"Он" - это кто? Всевышний?
А если нет, возьми отладчик и посмотри, что к чему. Я не знаю, что у тебя есть в приложении, но со стороны MFC наверняка вызывается метод CWinApp::OpenDocumentFile. Найди, поставь точку прерывания, и отследи назад по стеку, кто и почему этот метод вызвал. 

Автор: CaptainFlint 11.6.2006, 12:55
NewLine
Открываешь свой CPP-файл, где определён класс приложения C<имя>App (далее - CMyApp), ищешь реализацию метода CMyApp::InitInstance(), в нём следующие строчки:
Код
    // Parse command line for standard shell commands, DDE, file open
    CCommandLineInfo cmdInfo;
    ParseCommandLine(cmdInfo);

    // Dispatch commands specified on the command line.  Will return FALSE if
    // app was launched with /RegServer, /Register, /Unregserver or /Unregister.
    if (!ProcessShellCommand(cmdInfo))
        return FALSE;

Правишь их так, чтобы получилось следующее:
Код
    // Parse command line for standard shell commands, DDE, file open
    CCommandLineInfo cmdInfo;
    ParseCommandLine(cmdInfo);

    // Dispatch commands specified on the command line.  Will return FALSE if
    // app was launched with /RegServer, /Register, /Unregserver or /Unregister.
    if ((cmdInfo.m_nShellCommand != CCommandLineInfo::FileNew) && !ProcessShellCommand(cmdInfo))
        return FALSE;

Всё. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)