CPen::CPen
Создает объект CPen.
CPen( );
CPen(
int nPenStyle,
int nWidth,
COLORREF crColor
);
CPen(
int nPenStyle,
int nWidth,
const LOGBRUSH* pLogBrush,
int nStyleCount = 0,
const DWORD* lpStyle = NULL
);
Параметры
nPenStyle
Задает стиль пера.Этот параметр в первой версии конструктора может принимать одно из следующих значений:PS_SOLID Создает сплошной перо.
PS_DASH Создает пунктирная перо.Допустимо, только если ширина пера 1 или в единицах устройства.
Создает PS_DOT, предоставляемая точки пера.Допустимо, только если ширина пера 1 или в единицах устройства.
PS_DASHDOT Создает перо с чередующихся штрихов и точками.Допустимо, только если ширина пера 1 или в единицах устройства.
PS_DASHDOTDOT Создает перо с чередующихся штрихов и двойными точками.Допустимо, только если ширина пера 1 или в единицах устройства.
Создает PS_NULL значения null перо.
PS_INSIDEFRAME Создает перо, которая рисуется линия в пределах кадра замкнутых фигур, создаваемых функций вывода GDI Windows, которые определяют ограничивающий прямоугольник (например, Эллипс, Прямоугольник, RoundRect, Pie и функции-члены Chord ).Если этот стиль используется с функциями вывода GDI Windows, которая не указывает ограничивающий прямоугольник (например, функция-член LineTo ), область документа пера не ограничена кадром.
Вторая версия конструктора CPen указывает тип сочетания, стиль, а атрибуты соединения.Значения из каждой категории должны объединяться с помощью оператора (побитовое ИЛИ|).Тип пера может принимать одно из следующих значений:
Создает PS_GEOMETRIC геометрическая перо.
PS_COSMETIC Создает косметическая перо.
Вторая версия конструктора CPen добавляет следующие стили пера для nPenStyle:
PS_ALTERNATE Создает перо, которая устанавливает каждый другой точке.(Этот стиль применяется только к косметических ручек).
PS_USERSTYLE Создает перо, которая используется при вводе в массив предоставленный пользователем.
Окончание может принимать одно из следующих значений:
Завершает PS_ENDCAP_ROUND круглы.
Завершает PS_ENDCAP_SQUARE квадрат.
Завершает PS_ENDCAP_FLAT в двух направлениях.
Соединение может быть одно из следующих значений:
Соединения PS_JOIN_BEVEL скошены.
Соединения PS_JOIN_MITER mitered при их в текущий набор ограничений функцией SetMiterLimit.Если в соединении превышает это ограничение, оно скошено.
Соединения PS_JOIN_ROUND круглы.
nWidth
Определяет толщину пера.Для первой версии конструктора, если это значение равно 0, то ширина в единицах устройства всегда 1 пиксель, независимо от режима сопоставления.
Для второй версией конструктора, если nPenStylePS_GEOMETRIC, ширина уступана логические единицы.Если nPenStylePS_COSMETIC, ширину, необходимо установить значение 1.
crColor
Содержит цвета RGB для пера.pLogBrush
Указатель на структуру LOGBRUSH.Если nPenStylePS_COSMETIC, то элемент lbColor структуры LOGBRUSH определяет цвет пера и участника lbStyle структуры LOGBRUSH должны быть определены в BS_SOLID.Если nPenStylePS_GEOMETRIC, то все члены должны использоваться для идентификации атрибутов кисти пера.nStyleCount
Указывает длину в единицах, lpStyle doubleword массива.Это значение должно быть равным нулю, если nPenStyle не PS_USERSTYLE.lpStyle
Указатель на массив значений doubleword.Первое значение задает длину первого штриха в определяемом пользователем стиле, второе значение указывает длину первой пробелы и т дЭтот указатель должен быть NULL если nPenStyle не PS_USERSTYLE.
Заметки
При использовании конструктора без аргументов, то необходимо инициализировать результирующий объект CPen с CreatePen, CreatePenIndirect или функции-членами CreateStockObject.
При использовании конструктора, который принимает аргументы и не существует больше добавочная инициализация не требуется.Конструктор с аргументами может вызвать исключение при возникновении ошибок во время выполнения конструктор без аргументов, будет всегда выполняется успешно.
Пример
// Create a solid red pen of width 2.
CPen myPen1(PS_SOLID, 2, RGB(255,0,0));
// Create a geometric pen.
LOGBRUSH logBrush;
logBrush.lbStyle = BS_SOLID;
logBrush.lbColor = RGB(0,255,0);
CPen myPen2(PS_DOT|PS_GEOMETRIC|PS_ENDCAP_ROUND, 2, &logBrush);
Требования
Header: afxwin.h