看过出错的地方的Debug说明,应该是多线程安全错误,Cwnd指针在不同线程之间传递,但是错误和界面绘图有关,我调试时陷入调试器和程序来回切换的死循环。没办法了,大家帮忙看看,不传整个工程了,我用c++.net的,大部分人没有。只传我写的类。下载后把四个文件拷贝进一个MFC文档和视图结构的工程(不要用基于对话框工程,Bug不会出现),在视图类(一定要是CView或其派生类)里包含InputListCtrl.h文件。在视图上画出至少有两列的InputListCtrl。
触发bug:这是一个有本地输入框的CListCtrl控件,从第二列开始可以编辑,只能输入浮点数。点击一个可输入的单元格,可以看到输入框(SubEdit派生自CEdit),然后在输入框内部(SubEdit内部)点击鼠标左键,就可以触发bug。
大家帮帮忙,小弟还没怎么学多线程编程,不知道为什么会遇到这种问题。注:这是一个Debug错误,release版本不会出现,但控件功能受影响。下载:http://www.vchelp.net/ASP/cdf_pic/200410/subject_1_130564.rar