我尝试过多种方法,但基础就是这样:
#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
}
}
当我运行它时,我收到以下错误:
此对话框我缺少什么?
我查找了几个资源,但是所有内容都会产生相同的错误消息。
有人可以告诉我我没看到什么吗?
答案 0 :(得分:3)
在控制台应用程序中使用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控制台应用程序并使用对话框对我来说没有意义......您的问题可能需要更多详细信息,您想要做什么,以及您希望以这种方式执行此操作的原因。
在继续这种编程方式之前,您可能需要阅读一些书籍或文章。