运行程序出错,定位如下:

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值发生改变,编译就会出错。根据对话框正确更正就行了。另一个原因就是

是你为一个控件进行变量绑定,后来你觉得这个控件没用了,就直接在对话框上把控件删除了,而这里的关联代码却没删除

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐