改为:
CMainDlg *dlg=new CMainDlg;
dlg->Create(CMainDlg::IDD);
dlg->ShowWindow(SW_SHOW);
dlg->UpdateWindow();
return true;
试一试

解决方案 »

  1.   

    告诉你,CMainDlg dlg不能在InitInstance()里,它不应该作为局部变量,否则初始化完以后,dlg对象也就随之消失了,应该作为一个全局变量
      

  2.   

    1、先定义
       WNDCLASSEX window;2、再注册
       RegisterClassEx( &window );3、后创建
       CreateWindowEx( );4、最后显示
       ShowWindow( );
       UpdateWindow(  );试试行不行?
      

  3.   

    去掉”return true;“就可以!!!!!
      

  4.   

    错了,将”return true;“放在dialog方法InitInstance最后就可以!!!!!
      

  5.   

    可以了,我发现有一个变量m_pMainWnd,它起什么作用,如果我把下面这段代码注释掉,就不能显示了。
    m_pMainWnd = &dlg;
    这句话起什么作用?m_pMainWnd是系统自动生成的全局变量吗?我为什么找不到定义它的地方?
      

  6.   

    每个应用程序主线程其实都不过是个UI线程而已。每个UI线程都必须有一个窗口和线程绑定在一起以便处理消息。因为消息是基于窗口的,线程要想收到消息就必须和窗口绑定。
    m_pMainWnd = &dlg;表示主线程将和dlg绑定在一起。
      

  7.   

    http://www.csdn.net/expert/topic/467/467581.shtm