题
我从来没有理解为什么擦除背景有一个单独的Windows消息。我对我看起来有点多余。当我创建了所有者绘制的按钮时,我总是最终从内部删除了WM_PAINT中的背景。我有时甚至可以从内部完成所有绘画,并留下WM_PAINT。两者似乎都能正常工作。将绘画分成2个操作是否有任何优点?
解决方案
这完全猜测:
回到古老的日子里,用颜色填充矩形是相对慢的操作。但填充一个大矩形仍然比填充大量的小矩形更快。
我猜,如果你有一个带有子窗口的窗口,并且都有相同的注册背景刷,那么Windows才能达到足够智能的来实现它在已经清除时不需要向孩子发送WM_ERASEBKGND父母。在一个非常慢的PC上具有中度复杂的对话框,这可能是一个显着的改进。
不隶属于 StackOverflow