请问
#define IDC_EDIT1  WM_USER+1000这个IDC_EDIT1 倒底是自定义控件ID ,还是自定义消息?

解决方案 »

  1.   

    但使用起来却像控件ID ,在实例中这样使用:#define IDC_EDIT1  WM_USER+1000
    ...
    ...
    wndBar.Create(WS_VISIBLE,rc,this,IDC_EDIT1,dwf);//此处生成一个
                                                    IDC_EDIT1的对象
    ...
    有谁可以告诉我,为什么控件可以这样定义???跟定义消息差不多一样
      

  2.   

    我觉得你这么写本身就是不对的(不符合规范)
    WM_USER是自定义消息的开始
    你这样写应该是自定义消息,可是以IDC开头的按照规范应该是控件的ID
      

  3.   

    不是我写不规范,源代码就是这样写的。
    而且,用对象用构造函数Create 里的写法分明就是一个 控件ID
      

  4.   

    #define 只是定义一个符号,具体怎么用就随你.
    在预处理器中,#define 定义的符号均被替换,如你的程序中
    IDC_EDIT1 会被替换为 xxxx+1000(xxxx为WM_USER的值)
    在编译就被当作当做一个数值
    因为用它create了一个控件,所以是一个控件ID其实每一个标识符都只是一个符号,对计算机而言是一样的,
    取有意义的名字只是为了人的方便
    也就是说,一个标识符的意义取决于它的用法而不是名字