Как отключить окно сообщения "Не удалось создать пустой документ" Окно сообщения в приложении MFC SDI

Я использую VS2010 для меня MFC Приложение SDI. В MainFrame Класс в OnCreate(LPCREATESTRUCT lpCreateStruct) Функция Я открываю одно диалоговое окно и на IDCANCLE Повторите из диалогового окна. Я хочу закрыть приложение. Я использую следующий код для того же в onCreate Функция.

CTermsConditionDlg objTNCDlg;
if(!objTNCDlg.DoModal() == IDCANCLE){
return -1;
}

Теперь мой вопрос после возврата заявления, приложение показывает окно сообщения, как показано на рисунке.Сообщение о закрытии

Я хочу отключить это окно сообщения и закрыть свое приложение. Может ли кто-нибудь помочь, как я могу сделать это. Заранее спасибо.

1 ответ

Решение

Почему вы помещаете этот диалог так поздно в вашу инициализацию? Проблема заключается в структуре SDI, которая ретранслирует некоторые начальные вещи, которые, как ожидается, будут работать всегда. В этом случае всегда ожидается, что мэйнфрейм может быть создан. Смотрите код в CSingleDocTemplate::OpenDocumentFile

Просто поместите этот код в InitInistance до вызова LoadFrame или ProcessShellCommand. В этом случае вы можете легко прекратить без проблем.

Другая идея - разрешить создание окна, но просто используя PostMessage(WM_CLOSE); В этом случае инициализация завершена, все создано, и приложение снова завершается.

Другие вопросы по тегам