CDC->LineTo之类的函数都会触发WM_PAINT消息吗?

2026年09月08日 23:09
有2个网友回答
网友(1):

都不会!

改变窗口大小,窗口被遮挡或者去除遮挡时,会触发WM_PAINT消息。
或者人为发送的WM_PAINT消息。
如调用以下函数时:
Invalidate指定整个客户区无效;
InvalidateRect指定某个矩形无效;
InvalidateRgn指定某个区域无效。

补充:
当然确定,绘图和重绘是两个概念。

网友(2):

为什么不测试一下呢?
我们可以添加
OnLButtonDown()和OnLButtonUp()
画一条直线,
然后,设置一个计数器 int count;用以区分是否为刚创建时有WM_PAINT消息产生。
添加OnPaint()消息映射,弹出消息对话框,这就可以知道了。
结果证明不明产生WM_PAINT消息。