GetLineShiftVer method (LineStyleElement)

Метод возвращает сдвиг линии по вертикали.

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

LineStyleElement

Синтаксис:

Visual Basic:

Function GetLineShiftVer() As Double

Описание:

Метод возвращает то самое число в миллиметрах, которое задали методом SetLineShiftVer, - в том числе отрицательное.

У только что созданного элемента сдвиг равен 0. Сдвиг поперек линии нужен для параллельных полос; у обычных штриховых стилей он нулевой.

Пример:

Пример собирает стиль из двух линий с разным сдвигом и читает сдвиги обратно.

Visual Basic:

Sub LineStyleElement_GetLineShiftVer
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set lsd = CreateObject("ZuluLib.LineStyleDef")
'Три полосы: по объекту и по обе стороны от него
For i = -1 To 1
  Set lse = CreateObject("ZuluLib.LineStyleElement")
  lse.SetLineColor RGB(0, 128, 0)
  lse.SetLineType 0
  lse.SetLineWidth 0.5
  lse.SetLineShiftVer i * 2
  lsd.AddLineElement lse
Next
Set els = lsd.StyleElements
S = "Элементов в стиле: " & els.Count
For j = 0 To els.Count - 1
  S = S & vbCrLf & "элемент " & j & ": сдвиг " & els.Item(j).GetLineShiftVer
Next
S = S & vbCrLf & "новый стиль получил Id " & L.LineStyles.AddItem(lsd, -1)
MsgBox S
End Sub

Python:

import zulu

def Macro_LineStyleElement_GetLineShiftVer():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    lsd = zulu.LineStyleDef()
    # Три полосы: по объекту и по обе стороны от него
    for i in (-1, 0, 1):
        lse = zulu.LineStyleElement()
        lse.SetLineColor(32768)
        lse.SetLineType(0)
        lse.SetLineWidth(0.5)
        lse.SetLineShiftVer(i * 2)
        lsd.AddLineElement(lse)
    els = lsd.StyleElements
    print("Элементов в стиле:", els.Count)
    for j in range(els.Count):
        print("элемент", j, ": сдвиг", els.Item(j).GetLineShiftVer())
    print("новый стиль получил Id", L.LineStyles.AddItem(lsd, -1))