读书人

初始化弹出对话框出现诊断性异常

发布时间: 2012-02-26 20:19:45 作者: rapoo

初始化弹出对话框出现诊断性错误
我建了一个SDI,在菜单里设置了个菜单项弹出个对话框,当程序运行到
对话框的CDialog::OnInitDialog();程序进入dlgdata.cpp的PrepareCtrl函数
(附录如下),在ASSERT(FALSE);这里退出了程序
这是怎么回事,怎样解决?


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是不是对话框上不存在的控件?
[解决办法]
ASSERT(FALSE);?不应该出错啊?
[解决办法]
nIDC没定义吧? 定义一个控件试试
[解决办法]
nIDC不是正确,就这样!

读书人网 >VC/MFC

热点推荐