在使用MFC时,常常会遇到不明所以的错误,今天,笔者在属性页添加多个radio控件时触发了意外的断点,错误提示在执行下列语句中。
void PROP_01::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
DDX_Radio(pDX, IDC_RADIO_01, m_lang[0]);
DDX_Radio(pDX, IDC_RADIO_02, m_lang[1]);
DDX_Radio(pDX, IDC_RADIO_03, m_lang[2]);
}
根据错误提示,
我们通过打开algdata.cpp文件发现,错误是由这一句程序发出ASSERT(::GetWindowLong(hWndCtrl, GWL_STYLE) & WS_GROUP);
智能AI搜索一下啥意思
原来是因为没有设置组,看一下VS,果然三个radio控件均是组fasle。
将其中一个radio的组设置为true状态,问题解决。