#define WM_FINDMUSIC WM_USER+1 
#define WM_PLAYMUSIC WM_USER+2 
#define WM_UPDATEFINDER WM_USER+3 
#define WM_ENDFIND WM_USER+4 
#define WM_UPDATEPLAYLIST WM_USER+5 
#define WM_CREATEPLAYLIST WM_USER+6 
#define WM_ADDTOLISTBOX WM_USER+7 
#define WM_MINI WM_USER+8
#define WM_PLAYNEXT WM_USER+9 
#define WM_PLAYPRE WM_USER+10
#define WM_HIDEMUSIC WM_USER+11
#define WM_SHOWMUSIC WM_USER+12
#define WM_PLAYRANDOM WM_USER+13
#define WM_SOUNDADD WM_USER+14
#define WM_SOUNDSUB WM_USER+15
#define WM_CHANGEMOD WM_USER+16
#define WMP_UNDEFINE 0
#define WMP_STOP 1
#define WMP_PAUSE 2
#define WMP_PLAYE 3
#define WMP_ScanForward 4 
#define WMP_ScanReverse 5
#define WMP_Buffering 6
#define WMP_Waiting 7
#define WMP_MEDIAEND 8
#define WMP_Transitioning 9
#define WMP_Ready 10
#define WMP_Reconnecting 11  
#define WMP_Last 12 
这些都有些什么用啊?

解决方案 »

  1.   

    如果全用后面的WM_USER+n或数值,谁能记住这个消息是干什么的啊?
      

  2.   

    用来定义 一些常量相当C++中的
    const int WM_HELLO = WM_USER + 100;
    const int HELLO = 33;
      

  3.   

    有WM_USER+字样的行 都是自定义的Windows消息。剩下的"可看作"一组枚举常量
      

  4.   

    。+数字的  是自定义消息其他的就是define的宏定义而已
      

  5.   

    一次定义之后,后面就可以随便使用了,就是定义常量,跟const定义的差不多
      

  6.   

    是自定义消息。至于作用嘛,有很多,简单地说几点吧。1. 代替常量值, 帮助记忆大家都知道C++中,switch后的参数只能是char、int等类型,不能是字符串。所以这时候宏的定义就起到了作用。如:
    #define WM_OPENFILE WM_USER+1
    #define WM_COPYFILE WM_USER+2
    #define WM_DElETEFILE WM_USER+3
    .
    .
    .
    void Deal(int n)
    {
       switct(n){
       case WM_OPENFILE: ... break;   //相应的处理
       case WM_COPYFILE: ... break;   //相应的处理   ...
       }}2. 宏可以实现一些代码包装的功能,避免老是重复地写代码。
    比方MFC的框架中的DECLARE_MESSAGE_MAP宏呀,BEGIN_MESSAGE_MAP、ON_COMMAND、END_MESSAGE_MAP等等都很大程度上的实现了代码的包装。 它们实质上就是用来代替一段代码也就是说宏可以替代很多东西,有时候可以是一个常量,有时候可以是一段代码。某种程度上, 它也可以是一个函数什么的。差不多就这样啦~ 楼主有兴趣自己去研究研究
      

  7.   

    先用vc遍几w行代码,在回头看你问的问题!