我用的是VC6.0,照着别人的工程做练习。结果在一个工程的两个对话框中,别人可以给按钮命同一个名字,比如说都是IDC_BTN_HOMEMTR,就是说对话框中有同样的一个按钮。
而我去命名时,却出现了,
“A control with this ID already exists.Enter a unique control ID.”
为什么我的就不行而别人的就行,我要在后面加个1变成IDC_BTN_HOMEMTR1 才行。我打开resoure.h文件发现别人是这样宏定义的#define IDC_BTN_HOMEMTR                 1225,
而我的却有两个,
define IDC_BTN_HOMEMTR1                1024,
define IDC_BTN_HOMEMTR                 1020,
这个宏不是拖一个控件就自己定义的么,能不能自己修改,我怕修改了整个工程都报废了。
拼凑别人代码的伤不起

解决方案 »

  1.   

    你在不同的DLG中命名没问题,但是不能在同一个DLG中~~~
      

  2.   

    resource.h里面的ID是不能重复的,它仅仅是代表有这么一个id你看见的两个一样的其实他们的配置并不一样,你打开.rc文件一看就知道是怎么回事了,那里面描述了具体的资源,比如你这两个button那里面就会清晰的写上是在哪个对话框下。
      

  3.   

    我就是在不同的DLG中,不能命一样的名啊。
      

  4.   

    两个一样的在.rc里是这样的,一个是 
     PUSHBUTTON      "归位马达",IDC_BTN_HOMEMTR,279,199,52,28,NOT WS_VISIBLE | 
                        WS_DISABLED
    另一个
     PUSHBUTTON      "归位马达",IDC_BTN_HOMEMTR,277,215,50,32,NOT WS_VISIBLE | 
                        WS_DISABLED
    他们确实不一样,但是我要怎样才能在另一个对话框中也名一样的名啊?
      

  5.   

    应该放在同一个对话框里了。仔细检查下操作是不是出错了。同一个对象里面,ID相同的控件在resource.h中只有一个预定义。
      

  6.   

    说你可能是弄到一个对话框里了首先检查资源,就是那个.RC文件里面,看看你当前的两个id一样的按钮是不是属于同一个对话框再检查一下代码,是不是两个对话框类使用了同一个对话框资源
      

  7.   

    楼主将dlg内的按钮一个一个地移位,应该能发现躲在什么地方了。呵呵,肯定在一个对话框内。很久很久以前...........