两个问题的调试过程

来源:互联网 发布:医院门诊收费软件 编辑:程序博客网 时间:2024/05/21 21:35

最近比较忙,一些编程方面的东东,也来不及更新上来。

 

所以先Mark一下具体的问题,以方便以后写东东。

 

1) .C文件调用.Cpp文件时,函数的声明。

 

在声明正确后,调用时发现:编译器不对函数的参数类型进行匹配,也就是说类型不一致时,编译器不会报错。

 

具体的:本来函数需要一个RECT型的指针,我将RECT传入,结果没有报错。当然功能无法实现,最后单步调试发现此问题。

 

2) 讨厌的闪屏现象

 

我在一个窗体内,用CreateWindow()创建了多个窗体,有部分窗体是隐藏的。

 

后续要显示这些隐藏窗体的时候,发现窗体覆盖的区域,会产生令人讨厌的闪烁现象。开始以为是绘图DC没有处理好,但实验发现只要给窗体加背景图片,就会产生闪烁的现象。

 

最后发现解决问题的办法,在处理WM_ERASEBKGND消息时,直接返回:TRUE,如下:


  case WM_ERASEBKGND:
   return TRUE;

 

在此,也想起坛子中,很多人在问题:为什么按键画背景时,会出现闪烁现象。我想也和我在这里遇到的问题是一样的,因为按键也是用CreateWindow()函数创建的。