Invalidate(false)不擦除背景,直接画。Invalidate(true)擦除背景。
OnEraseBkGnd不是每次都会被调用的.如果你调用Invalidate的时候参数为TRUE,那么在OnPaint里面隐含调用BeginPaint的时候就产生WM_ERASEBKGND消息,如果参数是FALSE,则不会重刷背景.
OnPaint()被呼叫一次之前 可能会呼叫OnEraseBkgnd()好几次 。
比较好的做法是,直接将绘图的程序从OnPaint()移到OnEraseBkgnd()来做,调用Invalidate(true)直接贴图,返回TRUE;
更好的做法是使用双缓冲。