|
|
|
| |
Определяет графическое перо компонента 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+ | Руководство пользователя
|
|
|
| |
|
|