SetLineEndCap method (LineStyleElement)

Метод присваивает тип конца линии.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineEndCap(eType As eEndCapType)

eType - Тип конца линии:

0 - закругленный. (значение по умолчанию)

1 - квадратный.

2 - прямой.

Описание:

Тип виден на концах каждого штриха прерывистой линии: закругленный конец выступает за конец штриха на половину толщины линии и сходит на нет скруглением, квадратный выступает на ту же половину толщины сразу полной толщиной, а прямой начинается ровно в конце штриха.

У сплошной линии тип конца на рисунок не влиял: при всех трех значениях линия выходила за свои крайние точки примерно на половину толщины.

Значение метод не проверяет: число вне набора констант принимается и читается обратно как есть. У только что созданного элемента тип равен 0.

Пример:

Пример собирает штриховую линию с прямыми концами штрихов.

Visual Basic:

Sub LineStyleElement_SetLineEndCap
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set lsd = CreateObject("ZuluLib.LineStyleDef")
Set lse = CreateObject("ZuluLib.LineStyleElement")
'Толстая штриховая линия: штрих 12 через каждые 30
lse.SetLineColor RGB(0, 128, 0)
lse.SetLineType 1
lse.SetLineWidth 4
lse.SetLineStep 30
lse.SetLineDash 12
'Штрихи кончаются ровно в своих точках, без выступов
lse.SetLineEndCap 2
lsd.AddLineElement lse
S = "Тип конца в элементе: " & lsd.StyleElements.Item(0).GetLineEndCap
S = S & vbCrLf & "новый стиль получил Id " & L.LineStyles.AddItem(lsd, -1)
MsgBox S
End Sub

Python:

import zulu

def Macro_LineStyleElement_SetLineEndCap():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    lsd = zulu.LineStyleDef()
    lse = zulu.LineStyleElement()
    # Толстая штриховая линия: штрих 12 через каждые 30
    lse.SetLineColor(32768)
    lse.SetLineType(1)
    lse.SetLineWidth(4)
    lse.SetLineStep(30)
    lse.SetLineDash(12)
    # Штрихи кончаются ровно в своих точках, без выступов
    lse.SetLineEndCap(2)
    lsd.AddLineElement(lse)
    print("Штрих", lsd.StyleElements.Item(0).GetLineDash(), "при шаге",
          lsd.StyleElements.Item(0).GetLineStep())
    print("новый стиль получил Id", L.LineStyles.AddItem(lsd, -1))