пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Вирішення проблем перемальовування зображень у MFC. Концепція віртуального вікна.

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

Для обеспечения функционирования виртуального окна в программе необходимо выполнить ряд действий. Сначала необходимо создать контекст области памяти, совместим с контекстом окна программы. После этого все вывода направляется через контекст области памяти. Каждый раз, когда принимается сообщение WM_PAINT, содержание контекста области памяти имеет копироваться в контекст окна и отображаться на экране. Если все вывода направляться через память, программа всегда будет запись текущего содержания физического окна.


22.06.2015; 09:38
хиты: 221
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь