Как сделать CDialog?

Я пробовал несколько вещей, но база приходит к этому:

#include <stdio.h>
#include <afxwin.h>


main( int argc, const char* argv[] )
{

   printf( "\nHello World\n\n" );

   CDialog *dlg = new CDialog();
   dlg->DoModal();

   while (true) {
      Sleep(1); // Sleep is a windows function
   }
}

Когда я запускаю это, я получаю следующую ошибку:

Сообщение об ошибке подтверждения отладки

Чего мне не хватает в этом диалоге?

Я посмотрел несколько ресурсов, но все приводит к тому же сообщению об ошибке.

Может кто-нибудь сказать мне, что я не вижу?

1 ответ

Использование MFC в консольном приложении требует некоторых инициализаций. Без этого вы получите утверждения.

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    // initialize MFC and print and error on failure
    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
    {
        // TODO: change error code to suit your needs
        _tprintf(_T("Fatal Error: MFC initialization failed\n"));
        return 8;
    }

Вы также должны использовать ресурс, связанный с CDialog. Вы можете использовать соответствующие конструкторы. Или вы выводите свой собственный диалог из CDialog, используя мастер классов.

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

Возможно, вам придется прочитать некоторые книги или статьи, прежде чем продолжить этот способ программирования.

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