本人工作中遇到的一些bug解决经验,有些是本人所在公司所用特定的技术才会遇到的问题,这部分可以忽略,MFC和WINDOWS方面的还是有一定参考价值。
1.EraseBk()函数不响应,没有加初始化函数.
2.加载图片是白板,初始化函数里的语句有问题.
3.子窗口在父窗口外面,或者移子窗口位置大小子窗口不听话,是因为子窗口属性没有设置为Child.
子窗口不能被拖动,是因为style属性没有被设置为:popup.
4.DDX_Control函数崩溃,不识别控件的ID,可包含Resource.h头文件解决.
5.滚动条不停闪动,是因为默认焦点在那上面.把焦点移走即可解决.
6.按钮从画的背景图片中透出来,是因为背景在不断的刷新,可检查是否有Timer函数中在进行刷新的动作.
问题在于先重绘按钮,再重绘底图,导致按钮从底图中透出来,可再次手动重绘按钮解决此问题.
7.窗口背景图片不显示,是因为在初始化函数中进行了擦除,而类中却没有EraseBknd()函数.
8.背景图片背景全黑,是因为XML文件中没有设置背景为透明.
9.代码中对控件位置的设置无效,可能是没有将变量和控件绑定
10.一个控件被其他控件遮住,可强制重绘这个控件解决此问题.
11.滚动条突然滚出一个很大的数字,是因为用了: a += (-scollinfo.npos);不用+=,直接赋值就无此问题.真尼玛奇葩的bug.其实是数学计算上的问题,自己当时想多了.
12.DDX_Control函数崩溃,无提示,可能是父窗口和子窗口出现同样ID的控件,导致冲突.之前删除的按钮运行时依然出现,可重新全部把解决方案生成一遍以解决此问题.
13.radiobutton,读取XML文件,图片扭曲,是因为控件高度太小,图片和文字错位,是因为控件高度太低.
14.重定义默认参数,编译不通过.函数在头文件中给了默认参数,在源文件中就不能再设默认参数.
15.CWnd窗口创建失败,可能是由于资源问题,即资源视图中的对话框