778___________________________Часть V. Инструментарий программиста
всех линий. Изменяя этот атрибут, можно изменить цвет, ширину и стиль линии, образующей любую фигуру.
Класс треп имеет не меньше шести различных конструкторов, принимающих различный набор аргументов. Самая употребительная и простая форма:
TPen(TColor color, int width = 1, int style = PS_SOLID) ;
Первый параметр — экземпляр объекта TColor, который определяет конкретный цвет. Второй аргумент представляет ширину и последний — стиль. В табл. 25.3 перечислены и показаны возможные стили.
Две опции стиля следует прокомментировать. Стиль PS_NULL отключает рисование. Независимо от других установок, перо с установленным стилем PSJMULL не нарисует ничего. Стиль PS_INSIDEFRAME действует сложнее.
Поскольку границы фигур GDI рисуются при конкретных установках пера, можно создавать фигуры, толщина границ которых больше одного пикселя (т. е. аргумент ширины, передаваемый конструктору треп, больше единицы). По умолчанию границы шире одного пикселя расширяются вовне фигуры. Следующая строка кода нарисует простой прямоугольник:
dc.Rectangle(10, 10, 20, 20);
Верхний левый его угол лежит в точке (10, 10) и нижний правый — в точке (20, 20). Если же ширина линии границы будет расширена на пять пикселей, левый верхний угол прямоугольника будет в действительности лежать в точке (6, 6), а нижний правый — в точке (24, 24). Указание стиля PS_INSIDEFRAME гарантирует, что границы не будут расширяться вовне фигуры.
Теперь можно скоординировать использование перьев с другими методами контекста для того, чтобы добавить цвета и разнообразить графику. Следующий фрагмент кода рисует перекрывающиеся эллипсы. Первый эл-