我用MFC生了一个单文档程序,然后用ClassWizard新建了一个继承自CView的新类MyView,也进行了消息映射,为什么新类不能响应呢?是不是还要一个MyView的实例化对象,我也不知道在哪里实例化?如是试着在CMainFrame类下的OnCreate函数里添加了一行:MyOnView myview;还是不能响应消息!谢谢大家了!!

解决方案 »

  1.   

    谢谢!我试了很多消息,包括WM_COMMAND,WM_CHAR等,一个都不行。
      

  2.   

    用MFC生成单文档程序时不是会自动生成继承自CView的新类吗?为什么还要用ClassWizard自己建一个继承自CView的新类MyView?
      

  3.   

    先顶.
    试试:
    int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 
    {
              ......... //在CMainFrame中创建MyView
    CCreateContext pContext;
    pContext.m_pNewViewClass = RUNTIME_CLASS(MyView);
    pContext.m_pCurrentDoc = NULL;
    pContext.m_pCurrentFrame = this;
    CView *pNewView = STATIC_DOWNCAST(CView, CreateView(&pContext));
    pNewView->OnInitialUpdate();
    SetActiveView(pNewView);
    pNewView->ShowWindow(SW_SHOW);
    RecalcLayout();
    }