WM_PAINT Битблиттинг несколько раз?

Это для C ++ — win32. По сути, я загрузил изображение (bmp) в файл HBITMAP из файла и поместил его в битовый массив в контекст устройства для главного окна.

Как бы я назвал это снова, если я хочу изменить изображение?

Я вызвал InvalidateRectangle () и UpdateWindow (), но это вызывает мерцание элементов управления окна.

0

Решение

Обычно вы делаете недействительной область (например, через InvalidateRect) и пусть ваш WM_PAINT Обработчик перекрасит его. Причины, по которым вы часто мерцаете, заключаются в том, что вы не WM_ERASEBKGND хендлер, твой WM_PAINT Обработчик не выполняет рисование с двойной буферизацией, или вы лишаете законной силы (или перерисовываете) область, большую, чем вам нужно.

Эта страница может помочь: Рисование без мерцания: методы устранения мерцания в ваших приложениях

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]