錯誤如圖:
出錯代碼如下:
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安裝文件中查找正確文件.嗯,說到這吧.