#include<afxwin.h>class COurApp:public CWinApp
{
public:
    BOOL virtual InitInstance();
};class CMyWnd:public CFrameWnd
{
public:
    CMyWnd()
    {
        Create(0,L"MFC窗口!");
    }
};BOOL COurApp::InitInstance(void)
{
    CMyWnd *m_pOurWindow;
    m_pOurWindow=new CMyWnd;
    m_pOurWindow->ShowWindow(m_nCmdShow);    return TRUE;
}
COurApp m_pMyApp;
这个程序窗口出来一闪就自动退出了。这是怎么回事呢?

解决方案 »

  1.   

    CMyWnd()
        {
            Create(0,L"MFC窗口!");
        }
    把Create改成DoModule();PS:非模态与模态的概念
      

  2.   

    放在 InitInstance(void)里面??????
      

  3.   

    BOOL COurApp::InitInstance(void)
    {
        CMyWnd *m_pOurWindow;
        m_pMainWnd = m_pOurWindow =new CMyWnd;
        m_pOurWindow->ShowWindow(m_nCmdShow);    return TRUE;
    }
      

  4.   

    看过你的工程文件了,
    你的程序没有消息循环,
    程序执行完毕后自然就退出了,
    建议你看一下WINAPI 和MFC   中 关于消息循环的章节,了解一下概念。
      

  5.   

    BOOL COurApp::InitInstance(void)
    {
        CMyWnd *m_pOurWindow;
        m_pOurWindow=new CMyWnd;
        m_pOurWindow->ShowWindow(m_nCmdShow);    return TRUE;
    }没有create。 应该如下 CMyWnd * pDlg = new CMyWnd ();
    m_pMainWnd = pDlg;/*&dlg;*/
    pDlg->Create(IDD_XXXXXXXX);
    pDlg->ShowWindow(m_nCmdShow);
    pDlg->UpdateWindow();
      

  6.   

    m_pOurWindow->ShowWindow(m_nCmdShow,SW_SHOW);
      

  7.   

    BOOL COurApp::InitInstance(void)
    {
        CMyWnd *m_pOurWindow;//这里用成员变量,不要用局部变量
        m_pOurWindow=new CMyWnd;
        m_pOurWindow->ShowWindow(m_nCmdShow);
        m_pMainWnd=m_pOurWindow;加上它
        return TRUE;
    }