Я пробовал несколько вещей, но база приходит к этому:
#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
}
}
Когда я запускаю это, я получаю следующую ошибку:
Чего мне не хватает в этом диалоге?
Я посмотрел несколько ресурсов, но все приводит к тому же сообщению об ошибке.
Может кто-нибудь сказать мне, что я не вижу?
Использование 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 и использовать диалоги … Вашему вопросу может потребоваться больше деталей, что вы хотите сделать и почему вы хотите сделать это таким образом.
Возможно, вам придется прочитать некоторые книги или статьи, прежде чем продолжить этот способ программирования.
Других решений пока нет …