最新消息:

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

程序开发 NickYang 10555浏览 0评论

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

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

[cpp]
void CListCtrlBox::DrawItem(LPDRAWITEMSTRUCT)     { ASSERT(FALSE); }
[/cpp]

查了查google,说法很多,很多人都说要自己重载DrawItem函数,不过以前用的时候并没有这样做,所以可以肯定不是这个原因,再查了下,找到了方法,要设置这个ListBox的Owner Drow属性是Fixed,选择这个属性为No再次编译运行,并没有错误了,看来应该是从VS08就有了这个属性,我以前一直用的05所以没感觉到这个,现在换成10就出了这样一个问题,悲剧啊。

转载请注明:C++爱好者博客 » MFC控件 void DrawItem(LPDRAWITEMSTRUCT) { ASSERT(FALSE); }

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址