本帖最后由 Chairman516 于 2010-05-13 00:28:48 编辑

解决方案 »

  1.   

    CMyApp MyApp;// 这里有个中文的分号,修正先链接设置改成使用 MFC 库,subsystem 设成 windows
      

  2.   

    error C2440: 'static_cast' : cannot convert from 'void (__thiscall CMyWnd::* )(void)' to 'void (__thiscall CWnd::* )(UINT,CPoint)'
      

  3.   

    好像属性里没有subsystem这一项
      

  4.   


    #include <afxwin.h>class CMyWnd : public CFrameWnd
    {
    private:
    CString ShowText;
    public:
    afx_msg void OnPaint();
    afx_msg void OnLButtonDown(UINT uFlag, CPoint pt);
    DECLARE_MESSAGE_MAP()
    };BEGIN_MESSAGE_MAP(CMyWnd, CFrameWnd)
    ON_WM_PAINT()
    ON_WM_LBUTTONDOWN()
    END_MESSAGE_MAP()void CMyWnd::OnPaint()
    {
    CPaintDC dc(this);
    dc.TextOut(20, 20, ShowText);
    }void CMyWnd::OnLButtonDown(UINT uFlag, CPoint pt)
    {
    ShowText.Format(_T("%s"), _T("有消息映射表的程序"));
    InvalidateRect(NULL, TRUE);
    }class CMyApp : public CWinApp
    {
    public:
    BOOL InitInstance();
    };BOOL CMyApp::InitInstance()
    {
    CMyWnd *pMainWnd = new CMyWnd;
    pMainWnd->Create(0, _T("MFC"));
    pMainWnd->ShowWindow(m_nCmdShow);
    pMainWnd->UpdateWindow();
    m_pMainWnd = pMainWnd;
    return TRUE;
    }
      

  5.   

    工程属性,Linker标签下的System,右边的第一行SubSystem选择Windows(/SUBSYSTEM:WINDOWS);
      

  6.   

    void CMyWnd::OnLButtonDown()
    声明和实现改成LRESULT试试,你这代码估计是别处抄来的
      

  7.   

    VisualEleven的代码忘了实例化
    最后加一句
    CMyApp MyApp;
      

  8.   

    afx_msg void OnLButtonDown();这样定义消息函数肯定会错嘛,
      

  9.   


    这个错误就是 afx_msg void OnLButtonDown();定义错了消息函数的格式一定要按要求写的
      

  10.   

    这个是典型的vc不同平台转换引发的widows消息映射函数转换的问题,不同vc 平台,消息映射的函数定义发生了很大变化,你仔细看一下各个消息函数的真实的定义,然后改过来,就肯定行了,我改过了
      

  11.   

    就是vc6 到vs2003,到2005,到2008 呗,没说清楚