vgxpm
vgxpm
2013-08-28 01:53
采纳率: 100%
浏览 3.9k

Debug Assertion Failed! 在winctrl3.cpp Line:525.求给解决意见,在线等

错误如图:
CSDN问答

出错代码如下:
void CCheckListBox::PreSubclassWindow()
{
CListBox::PreSubclassWindow();

// CCheckListBoxes must be owner drawn
 **ASSERT(GetStyle() & (LBS_OWNERDRAWFIXED |     LBS_OWNERDRAWVARIABLE));**                ->出错代码行525

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • vgxpm
    vgxpm 2013-08-28 02:43
    已采纳

    解决了,按出错代码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安装文件中查找正确文件.嗯,说到这吧.

    点赞 评论

相关推荐