错误如图:
出错代码如下:
void CCheckListBox::PreSubclassWindow()
{
CListBox::PreSubclassWindow();
// CCheckListBoxes must be owner drawn
**ASSERT(GetStyle() & (LBS_OWNERDRAWFIXED | LBS_OWNERDRAWVARIABLE));** ->出错代码行525
}
错误如图:
出错代码如下:
void CCheckListBox::PreSubclassWindow()
{
CListBox::PreSubclassWindow();
// CCheckListBoxes must be owner drawn
**ASSERT(GetStyle() & (LBS_OWNERDRAWFIXED | LBS_OWNERDRAWVARIABLE));** ->出错代码行525
}
解决了,按出错代码ASSERT(GetStyle() & (LBS_OWNERDRAWFIXED | LBS_OWNERDRAWVARIABLE));可知是控件类CCheckListBox对象的问题,检查了自己的控件发现在LISTBOX控件中行为中'Has Strings'必须设置TRUE,且"Owner Draw"必须设置Fixed.之前设置的分别是FALSE和NO,唉,总算解决了,昨天困惑了一晚上,以前碰到这种
Debug Assertion Failed!感觉无从下手,现在发现也没什么,定位发生ASSERT的代码,就可以知道是哪里出错了,呵呵,以后不会对这种错误畏惧了.哦,还有这个"f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winctrl3.cpp"不是真实文件位置,是个符号文件,可以在VS2008安装文件中查找正确文件.嗯,说到这吧.