Как сделать 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 и использовать диалоги... Вашему вопросу может потребоваться больше деталей, что вы хотите сделать и почему вы хотите сделать это таким образом.
Возможно, вам придется прочитать некоторые книги или статьи, прежде чем продолжить этот способ программирования.