русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сохранение изменений в контексте устройства


Дата добавления: 2013-12-23; просмотров: 833; Нарушение авторских прав


Атрибуты контекста устройства

Контекст устройства является совокупностью атрибутов, которые определяют, как функции GDI работают на данном устройстве.

В момент, когда мы получаем контекст устройства (например, когда мы собираемся отображать текст или графические объекты в окне), Windows создает структуру контекста устройства и заполняет ее значениями, принятыми по умолчанию. Впоследствии приложение может считывать и при необходимости изменять атрибуты полученного контекста устройства. Однако при освобождении контекста устройства все изменения, произведенные в нем, теряются.

Приведенная таблица содержит список атрибутов контекста устройства и значения, присваиваемые им по умолчанию. Для режима MM_TEXT:

 

MM_TEXT   Режим битового образа
(0, 0) Начало координат окна
(0, 0) Начало физических координат
(1, 1) Масштаб осей окна
(1, 1) Масштаб осей физического устройства отображения
BLACK_PEN Перо
WHITE_BRUSH Кисть
SYSTEM_FONT Шрифт
  Битовый образ
(0, 0) Текущая позиция пера
QPAQUE Режим фона
White Цвет фона
Black Цвет текста
R2_COPYPEN Режим отображения
BLACKONWHITE Режим растяжения
ALTERNATE Режим заполнения
Пространство между символами
(0, 0) Исходное положение кисти

 

После получения контекста устройства приложение может изменить любой его атрибут. Однако данные изменения не сохраняются, и когда приложение в следующий раз получит контекст устройства, его атрибуты будут иметь значения, установленные Windows по умолчанию.

Если необходимо сохранять изменения, вносимые приложением в контекст устройства, нужно добавить флаг CS_OWNDC к полю типа окна в структуре класса окна:



 

nWndClass->style = ... | CS_OWNDC;

 

Теперь все изменения, вносимые приложением в контекст устройства, сохраняются в структуре класса окна до уничтожения вами этого окна. Как правило, изменения атрибутов контекста устройства производят при поступлении приложению сообщения WM_CREATE. Использование флага CS_OWNDC оказывает действие только при получении контекста устройства функциями BeginPaint и GetDC.

GDI предоставляет возможность сохранить контекст устройства перед его изменением, а затем восстановить его. Для этого можно пользоваться функциями SaveDC и RestoreDC. Функция SaveDC используется для сохранения контекста устройства, а функция RestoreDC – для его восстановления. Ниже представлены примеры вызова данных функций:

 

nSaveDC (hDC); // Сохраняем контекст устройства

... // Изменение контекста устройства

RestoreDC (hDC,nSaveDC); // Восстанавливаем контекст устройства



<== предыдущая лекция | следующая лекция ==>
Получение информации из контекста устройства | Режимы отображения


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.