用PostThreadMessage发出的消息,可以在线程消息循环中得到,那么能不能就像自定义消息那样把消息映射在函数里ON_MESSAGE(message, memberFxn )?

解决方案 »

  1.   

    从CWinThread派生类,消息映射用ON_THREAD_MESSAGEON_THREAD_MESSAGE  Indicates which function will handle a user-defined message. 
    ON_THREAD_MESSAGE(message, memberFxn )
     
    Parameters
    message
    The message ID.memberFxn
    The name of the CWinThread-message-handler function to which the message is mapped.Res
      

  2.   

    用ON_THREAD_MESSAGE
    还是不能收到消息。只能在消息循环中判断呀!
      

  3.   

    你不会在InitInstance里返回了FALSE,或者自己又启动了一个消息循环吧
      

  4.   

    没有在InitInstance里返回FALSE,但是是我自己建立了一个消息循环。
    就是我一开始没有自己建立消息循环,用ON_THREAD_MESSAGE还是不行,收不到消息。
      

  5.   

    究竟要不要自己建立消息队列?
    建立消息队列的代吗?
    消息队列放到哪个函数里?是放在InitInstance函数里吗?
    谢谢!
      

  6.   

    如果用CWinThread类就什么都不用管,自己写消息循环是多此一举。ON_THREAD_MESSAGE就行。
    自己去大概跟一跟mfc源码就明白了。