WM_PAINT 是在系统 检测到 有需要更新的区域时发送的.于是 既然发送来了这个消息就说明系统UpdateRegion序列中有region.如果不处理,系统就会一直检测到有需要更新的区域.这时候就将造成消息阻塞,内存占用率很高.
处理WM_PAINT消息的方法是: 删除这个区域,使用BeginPaint 方法,删除 这个区域就表示app已经处理着个消息了.
同时注意的是 CpaintDC, CwindowDC在定义的时候就会做 beginPaint 动作.而CDC是不会做这个动作的.
本文介绍了WM_PAINT消息的作用及不正确处理可能带来的问题。详细讲述了如何通过BeginPaint方法删除更新区域来避免消息阻塞,并指出CpaintDC和CwindowDC在定义时会自动执行BeginPaint操作。
WM_PAINT 是在系统 检测到 有需要更新的区域时发送的.于是 既然发送来了这个消息就说明系统UpdateRegion序列中有region.如果不处理,系统就会一直检测到有需要更新的区域.这时候就将造成消息阻塞,内存占用率很高.
处理WM_PAINT消息的方法是: 删除这个区域,使用BeginPaint 方法,删除 这个区域就表示app已经处理着个消息了.
同时注意的是 CpaintDC, CwindowDC在定义的时候就会做 beginPaint 动作.而CDC是不会做这个动作的.
709

被折叠的 条评论
为什么被折叠?
