JS+
Усиленный язык сценариев для Windows
с возможностью встраивания
в ваши приложения
О языке JS+ Справочник Скачать JS+ DLL
Контакты
СПРАВОЧНИК ПО ЯЗЫКУ JS+ Содержание

TPen

- базовый компонент
Компонент TCanvas
Определяет графическое перо компонента TCanvas.

Доступ к объекту
Доступ к объекту выполняется через визуальные компоненты, имеющие свойство Pen. Например:

frm=new TForm();
...

penObj=frm.Canvas.Pen;

Собственные свойства
Свойство Тип Описание
Color TColor цвет пера
Mode Enum режим выбора цвета пера (см. ниже)
Style Enum стиль пера (см. ниже)
Width Number ширина пера, px
Только чтение
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

Стандартные методы

Пример (JS+)
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+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/Component/Base/TCanvas/TPen.htm
© 2024,