这适用于 C++ - win32。基本上,我已经从文件中将图像(bmp)加载到 HBITMAP 中,并将它的 bitblitted 到主窗口的设备上下文中。
如果我想更改图像,我将如何再次调用它?
我调用了 InvalidateRectangle() 和 UpdateWindow() 但这会导致窗口控件闪烁。
通常,您使该区域无效(例如 via InvalidateRect
)并让您的WM_PAINT
处理程序重新绘制它。您经常闪烁的原因是因为您没有覆盖WM_ERASEBKGND
处理程序,您的WM_PAINT
处理程序没有进行双缓冲绘制,或者您正在使(或重新绘制)比您需要的更大的区域无效。
此页面可能会有所帮助:无闪烁绘图:消除应用程序闪烁的技术