Это для C ++ — win32. По сути, я загрузил изображение (bmp) в файл HBITMAP из файла и поместил его в битовый массив в контекст устройства для главного окна.
Как бы я назвал это снова, если я хочу изменить изображение?
Я вызвал InvalidateRectangle () и UpdateWindow (), но это вызывает мерцание элементов управления окна.
Обычно вы делаете недействительной область (например, через InvalidateRect
) и пусть ваш WM_PAINT
Обработчик перекрасит его. Причины, по которым вы часто мерцаете, заключаются в том, что вы не WM_ERASEBKGND
хендлер, твой WM_PAINT
Обработчик не выполняет рисование с двойной буферизацией, или вы лишаете законной силы (или перерисовываете) область, большую, чем вам нужно.
Эта страница может помочь: Рисование без мерцания: методы устранения мерцания в ваших приложениях
Других решений пока нет …