Описание
Свойство пера 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));
}