Я уже говорил, что в Windows окно само отвечает за перерисовку себя. Для того чтобы окно осуществило перерисовку, оно должно получить сообщение WM_PAINT. Каким образом осуществляется перерисовка?
Обычно используют один из трех методов:
- Рабочая область может быть восстановлена, если ее содержимое формируется с помощью
каких-либо вычислений;
- последовательность событий, формирующих рабочую область, может быть сохранена, а
затем "проиграна" сколь угодно раз;
- можно создавать виртуальное окно и направлять весь вывод в виртуальное окно, а при
получении основным окном сообщения WM_PAINT копировать содержимое виртуального окна в основное.
Думаю, что читатель догадался, что в качестве виртуального окна используется контекст в памяти. Как его копировать, мы уже знаем. Но как рисовать на нем?