Учись программированию на C++ Builder бесплатно!

Описание


Свойство пера Style определяет стиль рисования линий пером.

Примечание. Только стиль psInsideFrame будет создавать размытый цвет, чтобы соответствовать свойству Color, которого нет в таблице цветов. Все остальные выбирают ближайший цвет из таблицы цветов Windows.

Примечание. Пунктирные или пунктирные стили пера недоступны, если свойство Width не равно 1.

Классы


TPen

Определение


enum TPenStyle (psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsideFrame);
property TPenStyle Style

Таблица значений:

Значение Описание
psSolid Сплошная линия
psDash Штриховая линия
psDot Пунктирная линия
psDashDot Штрих-пунктирная линия
psDashDotDot Линия, чередующая штрих и два пунктира
psClear Отсутствие линии
psInsideFrame Сплошная линия, но при Width>1 допускающая цвета, отличные от палитры Windows

Все стили со штрихами и пунктирами доступны только при Width = 1. В противном случае линии этих стилей рисуются как сплошные.
Стиль psInsideFrame единственный, который допускает произвольные цвета. Цвет линии при остальных стилях округляется до ближайшего из палитры Windows.

Пример


Этот пример рисует много прямоугольников различных размеров и цветов на максимизированной форме, чтобы заполнить весь экран. Чтобы запустить код, перетащите компонент TTimer в форму и используйте инспектор объектов для создания обработчиков событий OnTimer и OnActivate.

int x, y;

void __fastcall TForm1::FormActivate(TObject *Sender)
{
WindowState = wsMaximized;
Timer1->Interval = 50;
randomize();
}

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
x = random(Screen->Width - 10);
y = random(Screen->Height - 10);
Canvas->Pen->Color = (Graphics::TColor) random(65535);
switch (random(5))
{
case 0: Canvas->Pen->Style = psSolid; break;
case 1: Canvas->Pen->Style = psDash; break;
case 2: Canvas->Pen->Style = psDot; break;
case 3: Canvas->Pen->Style = psDashDot; break;
case 4: Canvas->Pen->Style = psDashDotDot; break;
}
Canvas->Rectangle(x, y, x + random(400), y + random(400));
}

Поиск по сайту