同一个项目下,不同的窗体。
比如,从win1总复制所有的控件到win2中,为什么控件的ID有的不变,有的自动根据win1的ID重新命名;想改成两个窗体相同控件名字一样的,却提示“具有该ID的控件已存在”。就是想让两个窗体的对应的控件ID相同,怎样改?谢谢!

解决方案 »

  1.   

    一个窗体中是不允许两个控件ID相同的,
    从一个窗体中复制控件到另一个窗体中,如果所复制的控件ID与目标窗体的控件ID相同,编辑器会自动修改复制过来的控件的ID。当手动修改相同时,自然会提示“具有该ID的控件已存在”如果想让两个窗体中控件的ID相同,就必须把目标窗体中与源窗体中ID相同控件清除,或者将其ID值修改。
      

  2.   

    谢谢帮助目标窗体中没有与源窗体控件相同的ID
    从源窗体复制的很多控件中到了目标窗体中,ID有的不变,有的变了
      

  3.   

    让ID相同是因为要关联变量,用向导太慢了不如手动快
    如果ID相同可以直接复制,更快些
    今天一定要做完这部分,还有很多……
    请各位高手帮帮我
    谢谢!
      

  4.   

    IDE: vs03
      

  5.   

    IDOK、IDCANSEL之类的是通用的id,其他的必须不一样
    这与变量、消息都相关
      

  6.   

    在资源管理器中选择你要修改的控件==>打开属性面板==>将光标放入ID栏中==>此时ID栏中右侧会有下拉列表的三角号,打开列表==>直接选择你要的控件ID,应该就可以了
      

  7.   

    刚才试了一下,控件ID号没有发生变化,两个不同对话框上的控件名称完全是可以相同的。要是出问题有可能是Resource.h上的问题,你看看Resource.h上控件定义数值是否有一样的
      

  8.   

    我是在VS2010上试验的,试验了button,edit,split控件
      

  9.   


    非常感谢g68743513比如在win1定义了8个Edit控件,ID命名为:IDC_Edit_Lenth1,IDC_Edit_Lenth2,IDC_Edit_Lenth3,IDC_Edit_Lenth4,
    IDC_Edit_Lenth5,IDC_Edit_Lenth6,IDC_Edit_Lenth7,IDC_Edit_Lenth8
    复制到win2下(win2中没有这样ID),前几个相同,后几个就不相同了控件少的话,ID基本不变,多了就会有变的
    不知道是什么原因
      

  10.   


    应该不会这样吧,如果iD不重复,Vs是不会改变你定义的ID的,
      

  11.   


    不同对话框资源中,控件ID是完全可以相同的。我也遇到相同的问题,应该是resource.h 中ID与数值对应的问题,但暂时没有找到解决方法。