MFC绘图中的闪烁问题

如果在鼠标的MouseMove事件中调用Invalidate会造成画面非常的闪烁。

究其原因,应该是Invalidate这个函数不会立即清除发送WM_PAINT消息,而是要等消息队列空闲的时候才发送。

这样造成的后果,MouseMove的消息发送了很多,而WM_PAINT消息发送的太少,所以造成了闪烁。

正确的解决办法就是在MouseMove的最后,直接发送发送消息,用 SendMessage(WM_PAINT)


你可能感兴趣的:(MFC绘图中的闪烁问题)