0

这适用于 C++ - win32。基本上,我已经从文件中将图像(bmp)加载到 HBITMAP 中,并将它的 bitblitted 到主窗口的设备上下文中。

如果我想更改图像,我将如何再次调用它?

我调用了 InvalidateRectangle() 和 UpdateWindow() 但这会导致窗口控件闪烁。

4

1 回答 1

2

通常,您使该区域无效(例如 via InvalidateRect)并让您的WM_PAINT处理程序重新绘制它。您经常闪烁的原因是因为您没有覆盖WM_ERASEBKGND处理程序,您的WM_PAINT处理程序没有进行双缓冲绘制,或者您正在使(或重新绘制)比您需要的更大的区域无效。

此页面可能会有所帮助:无闪烁绘图:消除应用程序闪烁的技术

于 2013-01-16T20:35:22.323 回答