在工程里加入别的工程的对话框,新添的对话框A上有些控件和原有的对话框B上控件名字相同,对话框A加入后,与对话框里B名字相同的控件在其属性页里的ID名不见了,变成了原来工程里recouce.h里定义的数字值(在现在工程的recouce.h里这些值对应的是别的控件),讨厌的是程序编译可以通过,执行时报错,调试时发现错误语句如下:HWND CDataExchange::PrepareCtrl(int nIDC)
{
ASSERT(nIDC != 0);
ASSERT(nIDC != -1); // not allowed
HWND hWndCtrl;
m_pDlgWnd->GetDlgItem(nIDC, &hWndCtrl);
if (hWndCtrl == NULL)
{
TRACE1("Error: no data exchange control with ID 0x%04X.\n", nIDC);
ASSERT(FALSE);----------------报错
AfxThrowNotSupportedException();
}
反正是控件id的问题,不知道我说清楚没?
现在我不知道怎么改,我想先将对话框A的控件名字改过来,因为A和B都是单独调用的,所以我想控件ID名相同没问题,可是改有的控件就说这个id已经存在了,要求换一个id,有的控件就可以改过来,明明都是已经存在的,不知是怎么回事,明白人告诉我吧,为什么?该怎么做?
{
ASSERT(nIDC != 0);
ASSERT(nIDC != -1); // not allowed
HWND hWndCtrl;
m_pDlgWnd->GetDlgItem(nIDC, &hWndCtrl);
if (hWndCtrl == NULL)
{
TRACE1("Error: no data exchange control with ID 0x%04X.\n", nIDC);
ASSERT(FALSE);----------------报错
AfxThrowNotSupportedException();
}
反正是控件id的问题,不知道我说清楚没?
现在我不知道怎么改,我想先将对话框A的控件名字改过来,因为A和B都是单独调用的,所以我想控件ID名相同没问题,可是改有的控件就说这个id已经存在了,要求换一个id,有的控件就可以改过来,明明都是已经存在的,不知是怎么回事,明白人告诉我吧,为什么?该怎么做?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货