默认的Winapi应用程序没有双重屏蔽。取而代之的是,它做得非常非常好,以确保只绘制需要绘制的内容,并且使其具有无缝的外观。但是,当您调整窗口大小时,整个内容都需要重新绘制,这会导致控件之间的闪烁,标签上的背景,有时甚至是标签的白色。

所以我的问题是,支持我的应用程序中双重缓冲的最简单方法是什么?

有帮助吗?

解决方案

创建一个窗口大小的位图,渲染到该位图中,然后在完成后将其闪烁回窗口。

您可以在现有代码中进行非常直接的原始替换。与其使用呈现到窗口的设备上下文,不如使用将其呈现到位图的设备上下文,而仅使用原始DC来敲击位图。

确保保持位图 - 不要在每个油漆调用中创建它。您只需要在调整窗口大小时重新创建它即可。

其他提示

看看以下文章: 使用屏幕外DC的无闪烁显示器.

本文介绍了一种用于绘制窗口设备上下文(DC)的技术,使屏幕不会闪烁。该技术非常简单,易于实现。

几年前,我学会了如何防止本教程闪烁。

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