|
|
Определяет графическое перо компонента TCanvas.
Доступ к объекту
Доступ к объекту выполняется через визуальные компоненты, имеющие свойство Pen. Например:
frm=new TForm();
...
penObj=frm.Canvas.Pen;
Собственные свойства
|
Свойство
| Тип
| Описание
|
Color
| TColor
| цвет пера
|
Mode
| Enum
| режим выбора цвета пера (см. ниже)
|
Style
| Enum
| стиль пера (см. ниже)
|
Width
| Number
| ширина пера, px
|
Только чтение
| [TYPE]
| [DESC]
|
Handle
| Number
| дескриптор пера Windows GDI (hPen)
|
|
Свойство Mode
|
Значение
| Описание
|
pmBlack
| черный цвет (свойства Color и Style игнорируются)
|
pmCopy
| определяется свойством Color (по умолчанию)
|
pmMask
| определяется общими цветами свойства Color и цвета фона
|
pmMaskNotPen
| определяется комбинацией общих цветов инвертированного свойства Color и цвета фона (свойство Style игнорируется)
|
pmMaskPenNot
| определяется комбинацией общих цветов свойства Color и инвертированного цвета фона (свойство Style игнорируется)
|
pmMerge
| определяется комбинацией свойства Color и цвета фона
|
pmMergeNotPen
| определяется комбинацией инвертированного свойства Color и цвета фона
|
pmMergePenNot
| определяется комбинацией свойства Color и инвертированного цвета фона
|
pmNop
| цвет отсутствует (свойства Color и Style игнорируются)
|
pmNot
| определяется инвертированным цветом фона (свойства Color и Style игнорируются)
|
pmNotCopy
| определяется инвертированным свойством Color (свойство Style игнорируется)
|
pmNotMask
| определяется инверсией общих цветов свойства Color и цвета фона
|
pmNotMerge
| определяется инверсией общих цветов свойства Color и цвета фона (свойство Style игнорируется)
|
pmNotXor
| определяется инверсией объединения свойства Color и цвета фона операцией XOR
|
pmWhite
| белый цвет (свойства Color и Style игнорируются)
|
pmXor
| определяется объединением свойства Color и цвета фона операцией XOR
|
|
Свойство Style
|
Значение
| Описание
|
psClear
| линия отсутствует
|
psDash
| штриховая линия
|
psDashDot
| штрих-пунктирная линия
|
psDashDotDot
| линия, чередующая штрих и два пунктира
|
psDot
| пунктирная линия
|
psInsideFrame
| сплошная линия, при ширине, большей 1, допускающая цвет, не входящий в палитру Windows
|
psSolid
| сплошная линия (по умолчанию)
|
|
Собственные методы
|
Метод
| Описание
|
HandleAllocated
| проверяет наличие у пера дескриптора Windows GDI
|
|
Стандартные методы
var Pen_Lst=new Array( "psDash", "psDashDot", "psDashDotDot", "psDot", "psSolid" );
// Главная форма frm=new TForm(); frm.Caption="JS+ - базовый компонент TPen"; frm.Width =450; frm.Height=300;
// Строка состояния stb=new TStatusBar(frm); stb.SimpleText= " Примеры линий, нарисованных различными стилями пера";
// Панель pnl=new TPanel(frm); pnl.BorderStyle=bsSingle; pnl.Color=clWhite; pnl.Left=pnl.Top=10; pnl.Width=frm.ClientWidth-pnl.Left*2;
// Контейнер PaintBox pbx=new TPaintBox(pnl); pbx.Align=alClient; pbx.OnPaint=pbx_Paint;
pnl.ClientHeight=(Pen_Lst.length+1)*20; frm.ClientHeight=pnl.Height+pnl.Top*2+stb.Height;
dx=frm.TextWidth("psDashDotDot")+10; dy=frm.TextHeight("Q")/2;
frm.ShowModal();
// Обработчик события OnPaint function pbx_Paint(frm) { var i,x,x2=frm.ClientWidth-10,y,cnv=frm.Canvas;
cnv.Pen.Color=clHighlight; for (i=0,x=y=10;i<Pen_Lst.length;i++,y+=20) { cnv.TextOut(x,y,Pen_Lst[i]); cnv.Pen.Style=eval(Pen_Lst[i]); cnv.Line(x+dx,y+dy,x2,y+dy); } }
Примечание
Цвет пера при стилях, отличных от psInsideFrame, округляется до ближайшего цвета из текущей палитры Windows.
Совместимость
C++ Builder/Delphi
|
JS+ | Руководство пользователя
|
|
|
|
|
|