SetSymbolShiftHor method (LineStyleElement)

Метод задает горизонтальный сдвиг символа объекту LineStyleElement.

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

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetSymbolShiftHor(dShift As Double)

dShift - горизонтальный сдвиг.

Описание:

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

Сдвигом чередуют символы двух элементов одного стиля: второй элемент сдвигают на полшага, и его символы встают между символами первого.

Отрицательное значение метод принимает и возвращает как есть; у только что созданного элемента сдвиг нулевой.

Пример:

Пример собирает стиль, в котором символы двух видов чередуются вдоль линии.

Visual Basic:

Sub LineStyleElement_SetSymbolShiftHor
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set lsd = CreateObject("ZuluLib.LineStyleDef")
'Открытые задвижки через каждые 40 точек
Set lse = CreateObject("ZuluLib.LineStyleElement")
lse.SetSymbol L.Symbols.ItemById(9)
lse.SetSymbolScale 1
lse.SetSymbolStep 40
lsd.AddSymbolElement lse
'Закрытые задвижки с тем же шагом, но на полшага дальше
Set lse2 = CreateObject("ZuluLib.LineStyleElement")
lse2.SetSymbol L.Symbols.ItemById(10)
lse2.SetSymbolScale 1
lse2.SetSymbolStep 40
lse2.SetSymbolShiftHor 20
lsd.AddSymbolElement lse2
S = "Сдвиги элементов: " & lsd.StyleElements.Item(0).GetSymbolShiftHor & " и " & lsd.StyleElements.Item(1).GetSymbolShiftHor
S = S & vbCrLf & "новый стиль получил Id " & L.LineStyles.AddItem(lsd, -1)
MsgBox S
End Sub

Python:

import zulu

def Macro_LineStyleElement_SetSymbolShiftHor():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    lsd = zulu.LineStyleDef()
    # Открытые задвижки через каждые 40 точек
    lse = zulu.LineStyleElement()
    lse.SetSymbol(L.Symbols.ItemById(9))
    lse.SetSymbolScale(1)
    lse.SetSymbolStep(40)
    lsd.AddSymbolElement(lse)
    # Закрытые задвижки с тем же шагом, но на полшага дальше
    lse2 = zulu.LineStyleElement()
    lse2.SetSymbol(L.Symbols.ItemById(10))
    lse2.SetSymbolScale(1)
    lse2.SetSymbolStep(40)
    lse2.SetSymbolShiftHor(20)
    lsd.AddSymbolElement(lse2)
    print("Сдвиги элементов:", lsd.StyleElements.Item(0).GetSymbolShiftHor(),
          "и", lsd.StyleElements.Item(1).GetSymbolShiftHor())
    print("новый стиль получил Id", L.LineStyles.AddItem(lsd, -1))