resource.h中的值是如何分配的

来源:互联网 发布:extern c语言 编辑:程序博客网 时间:2024/05/17 22:28
 
存在分配相同ID的可能。详情见下:ID的分配是通过头文件控制的。你看你的resource.h的最后几行(注释是我加的,源文件里没有):#ifndef APSTUDIO_READONLY_SYMBOLS#define _APS_NEXT_RESOURCE_VALUE        2000  // 下一个资源的ID,比如字符串资源,位图资源等#define _APS_NEXT_COMMAND_VALUE         40001 // 下一个command的ID,这个一般是作为WM_COMMAND消息的参数用的。#define _APS_NEXT_CONTROL_VALUE         1001  // 下一个控件的ID#define _APS_NEXT_SYMED_VALUE           101 // 下一个符号的ID#endif比如,如果这个时候你用VC的对话框插入一个字符串,那么这个字符串的ID就会自动被分配成2000,同时_APS_NEXT_RESOURCE_VALUE会被改成2001。其他几个值也是以类似方式工作的。所以其实VC自动分配的ID号,跟你自己定义的是有可能重复的。你必须自己保证没有重复,而不是依赖于VC帮你检查。一个办法是,比如你要新加一个控件,你可以用_APS_NEXT_CONTROL_VALUE的值作为这个控件的ID,然后自己手动把_APS_NEXT_CONTROL_VALUE的值加1,这样就能保持跟VC的ID分配机制一致。
原创粉丝点击