Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WinAPI-ekz_shpory.docx
Скачиваний:
11
Добавлен:
25.09.2019
Размер:
185.19 Кб
Скачать
  1. Контекст, содержание контекста.

Контекст – структура, в которой по умолчанию находятся значения для отображения.

Контекст отображения представляет собой структуру в памяти, описывающую окно.

В этой структуре находятся такие характеристики окна, используемые для вывода в него текста и графических изображений – атрибуты контекста отображения. Весь вывод в окно должен выполняться с использованием функций интерфейса графических устройств GDI, составляющих подмножество программного интерфейса Windows. Устанавливаются изначально значения по умолчанию.

Атрибуты контекста отображения (20 атрибутов)

  1. Цвет фона (по умолчанию – белый цвет, функция – SetBkClr)

  2. Режим фона – позволяет переустанавливать режим фона (прозрачный (TRANSPERENT)/непрозрачный (OPAQUE) – по умолчанию; функция – SetBkMode)

  3. Режим рисования (по умолчанию – берется у инструмента, выбранного для рисования; новое изображение полностью замещает исходное, других режимов – десятки (можно использовать логические операции при рисовании); функция – SetROP2)

  4. Цвет текста (по умолчанию – черный цвет, функция – SetTextColor, вывод - TextOut)

  5. Шрифт (по умолчанию – системный, функции - SelectObject, CreateFont[Indirect])

  6. Расстояния между символами (по умолчанию – 0, функция – SetTextCharacterExtra)

  7. Цветовая палитра – таблица, в которой записаны цвета (обычно ограничено 255)

(функции – CreatePalette, SelectPalette, RealizePalette)

  1. Кисть (по умолчанию – белый цвет, размер 8х8 пикселей, для закрашиванию замкнутых областей; функции – CreateSolidBrush, CreateHatchBrush, SelectObject, …)

  2. Начальные координаты кисти (по умолчанию – (0,0), функция – SetBrushOrg, UnrealizeObject)

  3. Режим закрашивания многоугольников (по умолчанию – ALTERNATE (заполняются области между четными и нечетными сторонами), также есть – WINDING (режим заполнения), функция - SetPolyFillMode)

  4. Перо (по умолчанию – толщина 1 пиксель; цвет черный, функции – CreatePen[Indirect], SelectObject (более универсальная); толщину можно менять только для обычной линии)

  5. Текущая толщина пера (по умолчанию – (0,0), функция – MoveTo, LineTo)

  6. Изображение bitmap (нет по умолчанию, функции – SelectObject, CreateBitMap[Indirect])

  7. Режим растяжки – увеличение/уменьшение размера битового массива, растяжение приводит к резкому ухудшению изображения (функция – StrechBlt,

режим BLACKONWHITE (по умолчанию; превалирует черный цвет («ИЛИ»))

режим WHITEONBLACK (превалирует белый цвет («И»)))

  1. Область ограничения (по умолчанию – совпадает с областью вывода,

функции – CreateEllipticRgn, CreatePolygonRgn, CreateRectRgn, CreateClipRgn, … )

  1. Режим отображения (по умолчанию – MM_TEXT, функция изменения системы координат - SetMapMode, в WindowsNT можно использовать наклонные системы координат)

  2. Начало системы логических координат (по умолчанию – (0,0), функция - SetWindowOrg)

  3. Начало системы физических координат (по умолчанию – (0,0), функция - SetViewportOrg)

  4. Масштаб осей окна (по умолчанию – 1:1, функция - SetWindowExt)

  5. Масштаб физических координат (по умолчанию – 1:1, функция - SetViewortExt)

Контекст устройства (device context), относящийся ко всей поверхности экрана видеомонитора, позволит выводить текст или графические изображения в любое место экрана.

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

Способы получения (и, соответственно, освобождения) контекста отображения разные для контекстов разного типа. Можно выделить следующие типы контекста отображения (свои особенности и назначение):

  • общий контекст отображения (common display context);

  • контекст отображения для класса окна (class display context);

  • личный контекст отображения (private display context);

  • родительский контекст отображения (parent display context);

  • контекст отображения для окна (window display context);

  • контекст физического устройства (device context);

  • информационный контекст (information context);

  • контекст для памяти (memory device context);

  • контекст для метафайла (metafile context).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]