使用Visual Studio 生成控件ID时,环境本身已经保证了不会出现映射错误。相同的ID在程序中可以重复使用,当控件在同一个进程中时,其ID不会重复,因此通常不必关心ID与对应的值,只有在需要通过运算确定ID值时,才需要将对应的ID值整理成连续数。

解决方案 »

  1.   

    自动的就这样,除非每个ID你都自己定义。比如在资源中你先定义1000个ID,然后在对话框中给控件指定这些ID就行了。
    一般没有必要这么做。当你重其它工程复制对话框资源到新工程时,容易出现ID的问题
      

  2.   

    楼主一般资源文件都有#ifdef APSTUDIO_INVOKED
    #ifndef APSTUDIO_READONLY_SYMBOLS
    #define _APS_NEXT_RESOURCE_VALUE        112
    #define _APS_NEXT_COMMAND_VALUE         40090
    #define _APS_NEXT_CONTROL_VALUE         1001
    #define _APS_NEXT_SYMED_VALUE           101
    #endif
    #endif这个就保证了资源号的递增,很多情况下即使ID号一样也不会冲突,因为资源宏在改名时会保留映射值,但是实际上旧的映射宏是不使用的。但是会残存在.h文件中。如果你有洁癖就删除掉,如果没有不会冲突的,我可以保证。
      

  3.   

    呵呵我只是看着不舒服,同个页面确实也没有ID号重复的,但是担心万一有重复,这就需要自己去核对下才放心了。这应该算是VS的一个BUG吧。
    谢谢各位老大的回答。