您的位置:首页 > 其它

MFC控件 void DrawItem(LPDRAWITEMSTRUCT) { ASSERT(FALSE); }

2011-11-04 21:25 806 查看
今天帮一位小朋友写加密工具的时候,突然发现许久不用的MFC特生疏,控件函数都忘干净了,在查的基础上,勉强写了一个工具出来,挺简陋的,接个图给大家笑话下。





写到用ListBox来显示提示信息的时候,发现给Assert,跟进去之后发现是这一句导致的

C++

void CListCtrlBox::DrawItem(LPDRAWITEMSTRUCT)     { ASSERT(FALSE); }
1void CListCtrlBox::DrawItem(LPDRAWITEMSTRUCT)     { ASSERT(FALSE); }
查了查google,说法很多,很多人都说要自己重载DrawItem函数,不过以前用的时候并没有这样做,所以可以肯定不是这个原因,再查了下,找到了方法,要设置这个ListBox的Owner Drow属性是Fixed,选择这个属性为No再次编译运行,并没有错误了,看来应该是从VS08就有了这个属性,我以前一直用的05所以没感觉到这个,现在换成10就出了这样一个问题,悲剧啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Assert DrawItem MFC