请教#define IDC_EDIT1 WM_USER+1000 的问题! 请问#define IDC_EDIT1 WM_USER+1000这个IDC_EDIT1 倒底是自定义控件ID ,还是自定义消息? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但使用起来却像控件ID ,在实例中这样使用:#define IDC_EDIT1 WM_USER+1000......wndBar.Create(WS_VISIBLE,rc,this,IDC_EDIT1,dwf);//此处生成一个 IDC_EDIT1的对象...有谁可以告诉我,为什么控件可以这样定义???跟定义消息差不多一样 我觉得你这么写本身就是不对的(不符合规范)WM_USER是自定义消息的开始你这样写应该是自定义消息,可是以IDC开头的按照规范应该是控件的ID 不是我写不规范,源代码就是这样写的。而且,用对象用构造函数Create 里的写法分明就是一个 控件ID #define 只是定义一个符号,具体怎么用就随你.在预处理器中,#define 定义的符号均被替换,如你的程序中IDC_EDIT1 会被替换为 xxxx+1000(xxxx为WM_USER的值)在编译就被当作当做一个数值因为用它create了一个控件,所以是一个控件ID其实每一个标识符都只是一个符号,对计算机而言是一样的,取有意义的名字只是为了人的方便也就是说,一个标识符的意义取决于它的用法而不是名字 MFC的对话框类/视图类,是不是都有一个CToolTipCtrl对象成员? 请问获取硬盘序列号代码中这些代码是什么意思? 怎么设置CStatusBar的状态为不是灰色? 我们公司最近在招VC的人,有意愿的我可以推荐下 一个简单问题!如何从一非窗口类发送消息到一窗口类? 使用纯WIN32 API的界面编程的函数具体在MSDN的那里找着? GridCtrl控件的成员函数、变量的使用说明书 请问 return 0L; 是什么意思? C++ 编出来的.vsl库怎么使用? 请教各位谁知道那有Win2000 SDK下载?M$的ftp站点太慢了! 好用的图象处理控件 VC的排错太麻烦了。咳!!!!
...
...
wndBar.Create(WS_VISIBLE,rc,this,IDC_EDIT1,dwf);//此处生成一个
IDC_EDIT1的对象
...
有谁可以告诉我,为什么控件可以这样定义???跟定义消息差不多一样
WM_USER是自定义消息的开始
你这样写应该是自定义消息,可是以IDC开头的按照规范应该是控件的ID
而且,用对象用构造函数Create 里的写法分明就是一个 控件ID
在预处理器中,#define 定义的符号均被替换,如你的程序中
IDC_EDIT1 会被替换为 xxxx+1000(xxxx为WM_USER的值)
在编译就被当作当做一个数值
因为用它create了一个控件,所以是一个控件ID其实每一个标识符都只是一个符号,对计算机而言是一样的,
取有意义的名字只是为了人的方便
也就是说,一个标识符的意义取决于它的用法而不是名字