回 帖 发 新 帖 刷新版面

主题:为什么MFC小程序没有窗口出来

#include<afxwin.h>

class MyWnd:public CFrameWnd
{
public:
    MyWnd()
    {
        Create(NULL,_T("My Application"));
    }
protected:
    afx_msg void OnPaint()
    {
        CPaintDC dc(this);
        CRect rect;
        GetClientRect(&rect);
        dc.DrawText(_T("HELLO MFC"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
    }
    DECLARE_MESSAGE_MAP()
};
class MyApp :public CWinApp
{
public:
    BOOL IninInstance()
    {
        m_pMainWnd=new MyWnd;
        m_pMainWnd->ShowWindow(m_nCmdShow);
        m_pMainWnd->UpdateWindow();
        return TRUE;
    }
};
MyApp myapp;
BEGIN_MESSAGE_MAP(MyWnd,CFrameWnd)
   ON_WM_PAINT()
END_MESSAGE_MAP()

回复列表 (共1个回复)

沙发

在程序里你写错了一个重要的函数名字:InitInstance(),你写成IninInstance()了。
按理说它该是虚函数。可是你写错了,虽然你的程序能编译通过。但在调用的时候没有调用虚函数InitInstance(),MFC的一些内部机制就没有得到运行。窗口当然也就不弹出了。
这样改一下:  virtual BOOL InitInstance()
就可以了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册