#define PAGECHANGEHI (WM_APP + 5)ON_MESSAGE_RANGE(PAGECHANGEHI, PAGECHANGEHI + 10, OnPageChange)由于没有ON_MESSAGE_RANGE宏,上面的程序根本通不过编译,不知道大家有没有什么简单的方法,因为上面的10是不定的,可能是20,不大可能一个一个的做消息映射。

解决方案 »

  1.   

    由于没有ON_MESSAGE_RANGE宏
    ==为啥没有呢???
      

  2.   

    那就用ON_COMMAND_RANGE吧
    ON_COMMAND_RANGE( id1, id2, memberFxn )
      

  3.   

    VC6.0好象没有ON_MESSAGE_RANGE宏吧,有ON_COMMAND_RANGE
      

  4.   

    用ON_COMMAND_RANGE 也一样的啊
      

  5.   

    我接收一个通用控件的消息,它的消息可以更改,由设计者写指定,它发的不是WM_COMMAND消息,也不大说通发WM_COMMAND,肯定应该发自定义消息。
      

  6.   

    我接收一个通用控件的消息,它的消息可以更改,由设计者写指定,它发的不是WM_COMMAND消息,也不大可能发WM_COMMAND,肯定应该发自定义消息。
      

  7.   

    在 WindowProc 里面
    if/else switch...
      

  8.   

    呵呵,实在不行了,出只能走未名那条路switch case
      

  9.   

    BEGIN_MESSAGE_MAP(****,******)    ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW,0,0xffff,OnFun)
    END_MESSAGE_MAP
      

  10.   

    可以用ON_MESSAGE对应多个消息一个函数,用wparam lparam来识别是哪个消息.如:
    ON_MESSAGE(WM_MY_MSG1, OnMyMsg)
    ON_MESSAGE(WM_MY_MSG2, OnMyMsg)
    ...
    ON_MESSAGE(WM_MY_MSG10, OnMyMsg)
    ---------------------------------------SendMessage(WM_MY_MSG1, 1);
    SendMessage(WM_MY_MSG2, 3);
    ...
    SendMessage(WM_MY_MSG3, 3);LRESULT OnMyMsg(WPARAM wParam, LPARAM lParam)
    {
       switch((UINT)wParam)
       {
          case 1:
          case 2:
          ...
       }
    }
      

  11.   

    我想只能在WindowProc 中处理。
    WM_MY_MSG1消息由一个控件发出,他凭什么要在 lparam写入1,2,3?说不定它有别的用处呢。