Здавалка
Главная | Обратная связь

Установка объектов рисования



Функции этой группы используются для установки объектов рисования, определяющих такие параметры рисования, как цвет и стиль линий, вид закрашивания, используемый шрифт и т.д.

Основная функция установки графических объектов – SelectObject. Библиотека MFC в классе CDCопределяет пять функций для различных графических объектов:

CPen* CDC::SelectObject(СРеп* рРеn)

CBrush* CDC::SelectObject(CBrush* pBrush)

virtual CFont* CDC::SelectObject(CFont* pFont)

CBitmap* CDC::SelectObject(CBitmap* pBitmap)

int CDC::SelectObject(CRgn* pRgn)

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

Последняя версия функции SelectObjectпо своему действию аналогична функции SelectClipRgn.

Битовые массивы можно устанавливать только для контекстов устройств в памяти. Причем один битовый массив не может быть установлен одновременно больше, чем для одного такого контекста. Битовый массив может быть либо монохромным, либо совместимым с контекстом устройства, т.е. созданным функцией СBitmap::Create Compatible Bitmap.

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

Функция

virtual CGdiObject* CDC::SelectStockObject(int nIndex)

возвращает указатели на использованные ранее объекты в случае успешной замены и NULL – впротивном случае. Новый объект задается параметром nIndex, имеющим следующие значения:

BLACK_BRUSH Черная кисть
DKGRAY_BRUSH Темно-серая кисть
GRAY_BRUSH Серая кисть
LTGRAY_BRUSH Светло-серая кисть
HOLLOW_BRUSH Пустая или прозрачная кисть
NULL_BRUSH To же, что и HOLLOW_BRUSH
WHITE_BRUSH Белая кисть
BLACK_PEN Черный карандаш
NULL_PEN Пустой или прозрачный карандаш
WHITE_PEN Белый карандаш
ANSI_FIXED_FONT Непропорциональный системный шрифт ANSI
ANSI_VAR_FONT Пропорциональный системный шрифт ANSI
DEVICE_DEFAULT_FONT Шрифт, зависимый от устройства
OEM_FIXED_FONT Непропорциональный шрифт OEM
SYSTEM_FONT Системный шрифт, используемый по умолчанию для отображения пунктов меню, текста элементов управления и т.д.; в версиях Windows, начиная с 3.0 системный шрифт пропорциональный
SYSTEM_FIXED_FONT Непропорциональный системный шрифт, используется для совместимости с предыдущими версиями Windows
DEFAULT_PALETTE Основная цветовая палитра, содержащая 20 цветов

 

Системные кисти DKGRAY_BRUSH, GRAY_BRUSH и LTGRAY_BRUSH могут использоваться только для окон, имеющих стили CS_HREDRAW и CS_VREDRAW. Связано это с тем, что базовые координаты системных кистей не могут настраиваться, и при изменении размеров или положения окон их содержимое может быть испорчено.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.