我从来没有理解为什么擦除背景有一个单独的Windows消息。我对我看起来有点多余。当我创建了所有者绘制的按钮时,我总是最终从内部删除了WM_PAINT中的背景。我有时甚至可以从内部完成所有绘画,并留下WM_PAINT。两者似乎都能正常工作。将绘画分成2个操作是否有任何优点?

有帮助吗?

解决方案

这完全猜测:

回到古老的日子里,用颜色填充矩形是相对慢的操作。但填充一个大矩形仍然比填充大量的小矩形更快。

我猜,如果你有一个带有子窗口的窗口,并且都有相同的注册背景刷,那么Windows才能达到足够智能的来实现它在已经清除时不需要向孩子发送WM_ERASEBKGND父母。在一个非常慢的PC上具有中度复杂的对话框,这可能是一个显着的改进。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top