运行程序出错,定位如下:
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();
}
m_hWndLastControl = hWndCtrl;
m_bEditLastControl = FALSE; // not an edit item by default
ASSERT(hWndCtrl != NULL); // never return NULL handle
return hWndCtrl;
}
你先看看nIDC的值是多少,再在自己的资源文件中找到对应的ID,如你发现nIDC=1055,然后发现
#define IDC_CHECK_COUNTER 1055
接下来在
打开view菜单中的classwizard,找到IDC_CHECK_COUNTER,可能以前设置过变量,但ID值发生改变,编译就会出错。根据对话框正确更正就行了。另一个原因就是
是你为一个控件进行变量绑定,后来你觉得这个控件没用了,就直接在对话框上把控件删除了,而这里的关联代码却没删除
所有评论(0)