引用 2 楼 jinlking 的回复:
后面还可以加分的,^_^
BEGINPAINT 和 ENDPAINT好像就是调用了擦除背景的消息
为什么可以避免闪烁啊
BeginPaint()和EndPaint()可以删除消息队列中的WM_PAINT消息,并使无效区域有效;GetDC()和ReleaseDC()并不删除也不能使无效区域有效,因此当程序跳出WM_PAINT时,无效区域仍然存在。
而OnEraseBkgnd()函数会擦除掉无效区域,因此BeginPaint()和EndPaint()可以避免闪烁。