При выводе графики и текста и дальнейших операций с окном происходит потеря информации. Например, если вывести растровое изображение в окно, а затем окно минимизировать и заново максимизировать, произойдет потеря изображения. То же происходит с текстом. Каким образом можно решить проблему обновления окна? Из соображений здравого смысла предлагается три метода: 1) все время вычислять координаты текста и изображений; 2) хранить запись событий, связанных с выводом информации в окно и, при необходимости, "переигрывать" события; 3) поддерживать в программе "виртуальное окно", которое будет сохранять копию всего графического вывода в памяти и копировать его содержание в реальную ("физическое") окно при получении сообщения WM_PAINT.
Для обеспечения функционирования виртуального окна в программе необходимо выполнить ряд действий. Сначала необходимо создать контекст области памяти, совместим с контекстом окна программы. После этого все вывода направляется через контекст области памяти. Каждый раз, когда принимается сообщение WM_PAINT, содержание контекста области памяти имеет копироваться в контекст окна и отображаться на экране. Если все вывода направляться через память, программа всегда будет запись текущего содержания физического окна.