我在CMainFrame中定义了一个子定义消息函数为CMainFrame::f()
在CTestView中的做了消息映射ON_COMMAND(ID_MENU_3,CMainFrame::f)
E:\app\c++\test\testView.cpp(34) : error C2653: 'CMainFrame' : is not a class or namespace name
E:\app\c++\test\testView.cpp(34) : error C2065: 'f' : undeclared identifier
E:\app\c++\test\testView.cpp(34) :error C2440: 'type cast' : cannot convert from 'int *' to 'void (__thiscall CCmdTarget::*)(void)'请问是不是在CTestView中映射CMainFrame::f需要做一些类型转换??好象用到CCmdTarget::*什么的??请教,谢谢

解决方案 »

  1.   

    不能在ON_COMMAND里面写其他类的东西
      

  2.   

    sorry
    不能在ON_COMMAND里面写其他类的东西ON_COMMAND(ID_MENU_3,OnMenu3)
    void CTestView::OnMenu3()
    {
       AfxGetMainFrame()->f();
    }
      

  3.   

    在你的view.cpp里 
    #include "mainfrm.h"
      

  4.   

    刚才的问题解决了,我把消息映射写在CMainFrame中就可以了我在刚才的test程序中广播了一个消息,新建立了一个程序accept程序用来接受消息步骤如下
    1.定义了一个静态的消息变量static UNIT m_mm(在CMainFrame中)
    2.初始化静态变量
    UNIT CMainFrom::m_mm=::registerwindowsmessage("aa");
    3,我应该如何处理刚才收到的广播消息???实在view中还是在frame中呢,
    消息有三个步骤:定义好了,实现如何实现,映射又如何映射呢??谢谢