现构想在两个类中传递自定义的消息,例如CSTest1和CStest2,在CSTest1自定义一个消息WM_USER,然后发送给CStest2进行处理,请问这个过程如何做?是不是要用到SendMessage(),GetMessage()等函数?

解决方案 »

  1.   

    先自定义消息
    #define LISTDATA_OVER WM_USER+114//解析完一条完整的列表数据然后进行消息映射
    ON_MESSAGE(LISTDATA_OVER,RevListData)
    然后实现消息响应的函数最后投递消息就行了
    ::SendMessage(h_Parent,LISTDATA_OVER,iCurrNo,ListTypy);
      

  2.   

    在CStest2类中添加消息映射,然后CStest1发送自定义消息SendMessage/PostMessage就可以了
      

  3.   


    请问SendMessage(h_Parent,LISTDATA_OVER,iCurrNo,ListTypy)函数中的后两个参数到底是做什么用的?
      

  4.   


    那接受消息的类用调用GetMessage()函数吗?
      

  5.   

    最后2个参数是指针啊,其实就是这个类型:LONG_PTR
    你可以放DWORD,也可以放字符串指针,设置可以是结构体指针啊。
      

  6.   

    CStest2类是MFC继承过来的窗体,
    你直接可以利用楼上那位说的:
    然后进行消息映射
    ON_MESSAGE(LISTDATA_OVER,RevListData)
    然后实现消息响应的函数
    RevListData,就是你的相应处理函数了。
    形如:LRESULT RevListData(WPARAM w, LPARAM l);
      

  7.   


    谢谢,请问消息处理函数LRESULT RevListData(WPARAM w, LPARAM l)的参数w和l必须设定吗?还是可以为空?