Шаг 888 - CPen::CPen

CPen( );
CPen( int nPenStyle, int nWidth, COLORREF crColor );
throw( CResourceException );
CPen( int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush,
	int nStyleCount = 0, const DWORD* lpStyle = NULL );
throw( CResourceException );

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

Вторая версия CPen конструктора определяет комбинацию типа, стиля, конца и начала, и атрибутов объединения. Значения из каждой категории должны быть объединены, используя поразрядный или (OR) оператор (|). Перьевой тип может быть одно из следующих значений:

Вторая версия CPen конструктора добавляет следующие перьевые стили для nPenStyle:

Конец и начало может быть одно из следующих значений:

Объединение может быть одно из следующих значений:

nWidth
Определяет ширину пера.
Для первой версии конструктора, если это значение - 0, ширина в модулях устройства - всегда 1 пиксель, независимо от режима отображения.
Для второй версия конструктора, если nPenStyle - PS_GEOMETRIC, ширина, дана в логических модулях. Если nPenStyle - PS_COSMETIC, ширина должна быть установлена к 1.
crColor
Содержит RGB цвет для пера.
pLogBrush
Указатель на структуру LOGBRUSH. Если nPenStyle - PS_COSMETIC, lbColor член структуры LOGBRUSH определяет цвет пера, и lbStyle член структуры LOGBRUSH должен быть установлен к BS_SOLID. Если nPenStyle - PS_GEOMETRIC, все элементы должны использоваться, чтобы определить атрибуты кисти пера.
nStyleCount
Определяет длину, в модулях двойного слова, lpStyle массива. Это значение должно быть нуль, если nPenStyle - не PS_USERSTYLE.
lpStyle
Указатель на массив значений двойного слова. Первое значение определяет длину первой черточки в определяемом пользователем стиле, второй, значение определяет длину первого пробела, и так далее. Этот указатель должен быть NULLnPenStyle - не PS_USERSTYLE.

Замечания
Если Вы используете конструктор без параметров, Вы должны инициализировать возникающий в результате объект CPen с CreatePen, CreatePenIndirect, или CreateStockObject функциями. Если Вы используете конструктор, который берет параметры, то никакая дальнейшая инициализация не требуется. Конструктор с параметрами может бросать исключительную ситуацию, если с ошибками сталкиваются, в то время как конструктор без параметров будет всегда преуспевать.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 10.02.2002