GetSymbolShiftHor method (LineStyleElement)

Метод возвращает горизонтальный сдвиг символа.

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

LineStyleElement

Синтаксис:

Visual Basic:

Function GetSymbolShiftHor() As Double

Описание:

Метод возвращает то самое число, которое задали методом SetSymbolShiftHor, - в том числе отрицательное. У только что созданного элемента сдвиг равен 0.

Сдвиг вдоль линии позволяет расставить символы нескольких элементов вперемежку: у первого элемента он обычно нулевой, у следующих - свой.

Пример:

Пример перечисляет сдвиг у первых символьных элементов библиотеки стилей слоя.

Visual Basic:

Sub LineStyleElement_GetSymbolShiftHor
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set LS = L.LineStyles
S = ""
n = 0
'Перебираем стили и их элементы, нумерация с нуля
For i = 0 To LS.Count - 1
  Set els = LS.Item(i).StyleElements
  For j = 0 To els.Count - 1
    Set lse = els.Item(j)
    Set sym = lse.GetSymbol
    'Символьный элемент отличается тем, что у него задан символ
    If (Not sym Is Nothing) And (n < 8) Then
      S = S & "стиль " & LS.Item(i).Id & ", элемент " & j & ": шаг " & lse.GetSymbolStep & ", сдвиг " & lse.GetSymbolShiftHor & vbCrLf
      n = n + 1
    End If
  Next
Next
MsgBox S
End Sub

Python:

import zulu

def Macro_LineStyleElement_GetSymbolShiftHor():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    LS = L.LineStyles
    n = 0
    # Перебираем стили и их элементы, нумерация с нуля
    for i in range(LS.Count):
        els = LS.Item(i).StyleElements
        for j in range(els.Count):
            lse = els.Item(j)
            # Символьный элемент отличается тем, что у него задан символ
            if lse.GetSymbol() is not None and n < 8:
                print("стиль", LS.Item(i).Id, ", элемент", j, ": шаг", lse.GetSymbolStep(),
                      ", сдвиг", lse.GetSymbolShiftHor())
                n += 1