Процедура SetLineStyle

Модуль Graph

Устанавливает текущий стиль линии.

Объявление:

Procedure SetLineStyle(LineStyle : Word; Pattern : Word; Thickness : Word)

Режим: 

Замечания:

Влияет на все линии, рисуемые процедурами Line, LineTo, Rectangle, DrawPoly, Arc и подобными.

Линии могут быть нарисованы следующими предопределенными стилями:
SolidLn (непрерывная) (0)
DottedLn (точечная) (1)
CenterLn (средняя) (2)
DashedLn (штриховая) (3)

UserBitLn (устанавливаемая пользователем) (4)

Если в процедуру SetLineStyle переданы недопустимые параметры, то в переменной GraphResult возвращается значение grError и текущие установки линий не будут изменены.

Параметр LineStyle - это значение от SolidLn до UserBitLn (0 .. 4). Параме Pattern игнорируется, если LineStyle не равняется UserBitLn. Параметр Thickness может быть равен NormWidth (1) или ThickWidth (3).

Когда LineStyle равняется UserBitLn, строка выводится с использованием 16-разрядного шаблона, определяемого параметром Pattern. Например, если Pattern = $AAAA, то 16-разрядный шаблон выглядит так:

1010101010101010 { <-- Для толщины = NormWidth }
1010101010101010 { <-- Для толщины = ThickWidth }
1010101010101010
1010101010101010

Пример:

Uses Graph;
 
Var       Gd, Gm : Integer;
  X1, Y1, X2, Y2 : Integer;
 
Begin
 Gd:=Detect;
 InitGraph(Gd, Gm, '');
 If GraphResult <> grOk Then Halt(1);
 X1:=10;
 Y1:=10;
 X2:=200;
 Y2:=150;
 SetLineStyle(DottedLn, 0, NormWidth);
 Rectangle(X1, Y1, X2, Y2);
 SetLineStyle(UserBitLn, $C3, ThickWidth);
 Rectangle(Pred(X1), Pred(Y1), Succ(X2), Succ(Y2));
 ReadLn;
 CloseGraph;
End.

Пример программы: setlnstl.pas

См. также: