我想在某些变量改变时候,调用SendMessage()发送用户自定义信息。
请问:这个时候,一般SendMessage()填些什么参数?
 WM_USER消息处理函数写在哪?谢谢!

解决方案 »

  1.   

    #define WM_MYMSG WM_USER+222
    SendMessage(hWnd, WM_MYMSG, 0, 0 );
    case WM_MYMSG:
            处理
          break;
      

  2.   


    case WM_MYMSG: 
            处理 
          break;
    是在什么函数里面处理??
    在PreTranslateMessage里面?
      

  3.   

    你可以自己写一个消息函数,在函数里响应. 具体怎么做, 在网上搜 自定义消息 太多了.我就不细说了
    在PreTranslateMessage也可以响应, 推荐还是自己写个消息响应函数了
    if(pMsg->message == WM_MYMSG)
    {
      //
      

  4.   

    VC++如何处理自定义消息
    http://soft.ccw.com.cn/programing/other/htm2008/20080730_474998.shtml
      

  5.   

    #define UM_XXXX WM_USER+1
    再在有afx_msg的地方定义
    afx_msg void OnXxxx();再在有BEGIN_MESSAGE_MAP下定义
    ON_MESSAGE(UM_XXXX,OnXxxx)
      

  6.   

    我那个是API版本,当然放窗口的消息过程里
      

  7.   

    为了防止用户定义的消息ID与系统的消息ID冲突,MS定义了一个宏WM_USER,小于WM_USER的ID被系统使用,大于WM_USER的ID被用户使用。
    所以自定义消息的时候:
    现在头文件中定义自己消息的ID,如#define WM_MY_FIRST_MESSAGE (WM_USER + 0x001)
    在定义自己的处理函数afx_msg void OnMyFirstMessage();在CPP文件中:
    在BEGIN_MESSAGE_MAP 和END_MESSAGE_MAP代码块中添加,建议用户定义消息添加到//}}后面,
    ON_MESSAGE(WM_MY_FIRST_MESSAGE, OnMyFirstMessage)最后定义函数。