在处理WM_PAINT消息时,为了在更新的矩形外绘图,可以使用如下调用:InvalidateRect (hwnd, NULL, TRUE) ;
该调用在BeginPaint调用之前进行,它使整个显示区域变为无效,并擦除背景。但是,如果最后一个参数等于FALSE,则不擦除背景,原有的东西将保留在原处。通常这是Windows程序在无论何时收到WM_PAINT消息而不考虑rcPaint结构的情况下简单地重画整个显示区域最方便的方法。例如,如果在显示区域的显示输出中包括了一个圆,但是只有圆的一部分落到了无效矩形中,它就使仅绘制圆的无效部分变得没有意义。这需要画整个圆。在您使用从BeginPaint传回的设备上下文句柄时,Windows不会绘制rcPaint矩形外的任何部分。在第三章的HELLOWIN程序中,我们并不关心处理WM_PAINT消息时的无效矩形。如果文字显示区域恰巧在无效矩形内,则由DrawText恢复之。否则,在处理DrawText调用的某个时刻,Windows会确定它无须向显示器上输出。不过,这一决定需要时间。关心程序性能和速度的程序写作者希望在处理WM_PAINT期间使用无效矩形范围,以避免不必要的GDI调用。如果绘制时需要访问例如点阵图这样的磁片文件,则这就显得尤其重要。
后两段看不懂,哪位高手解释一下