Ale*_*rty 4 c++ winapi double-buffering
默认的winAPI应用程序没有双缓冲.相反,它确实能够确保只绘制需要绘制的内容,并使其具有无缝外观.但是,当您调整窗口大小时,需要重新绘制整个窗口,这会导致控件,选项卡上的背景以及选项卡的白色之间出现闪烁.
所以我的问题是,在我的应用程序中支持双缓冲的最简单方法是什么?
创建一个与窗口大小相同的位图,渲染到该位图,并在完成后将其重新插入窗口.
您可以在现有代码中进行非常简单的就地替换.不使用渲染到窗口中的设备上下文,而是使用渲染到位图中的设备上下文,并且仅使用原始DC来回显示位图.
一定要保留位图 - 不要在每个绘图调用中创建它.您只需在调整窗口大小时重新创建它.