SetSymbolShiftVer method (LineStyleElement)

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

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

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetSymbolShiftVer(dShift As Double)

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

Описание:

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

Направление здесь противоположно сдвигу линии SetLineShiftVer: на той же линии положительный сдвиг линейного элемента опускает рисунок, а символьного - поднимает.

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

Пример:

Пример собирает стиль из линии и символов, вынесенных в сторону от нее.

Visual Basic:

Sub LineStyleElement_SetSymbolShiftVer
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set lsd = CreateObject("ZuluLib.LineStyleDef")
'Сама линия - сплошная
Set line1 = CreateObject("ZuluLib.LineStyleElement")
line1.SetLineType 0
line1.SetLineColor RGB(0, 0, 255)
lsd.AddLineElement line1
'Символы в 8 точках от линии
Set lse = CreateObject("ZuluLib.LineStyleElement")
lse.SetSymbol L.Symbols.ItemById(9)
lse.SetSymbolScale 1
lse.SetSymbolStep 40
lse.SetSymbolShiftVer 8
lsd.AddSymbolElement lse
S = "Сдвиг символов поперек линии: " & lsd.StyleElements.Item(1).GetSymbolShiftVer
S = S & vbCrLf & "новый стиль получил Id " & L.LineStyles.AddItem(lsd, -1)
MsgBox S
End Sub

Python:

import zulu

def Macro_LineStyleElement_SetSymbolShiftVer():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    lsd = zulu.LineStyleDef()
    # Сама линия - сплошная
    line1 = zulu.LineStyleElement()
    line1.SetLineType(0)
    line1.SetLineColor(16711680)
    lsd.AddLineElement(line1)
    # Символы в 8 точках от линии
    lse = zulu.LineStyleElement()
    lse.SetSymbol(L.Symbols.ItemById(9))
    lse.SetSymbolScale(1)
    lse.SetSymbolStep(40)
    lse.SetSymbolShiftVer(8)
    lsd.AddSymbolElement(lse)
    print("Сдвиг символов поперек линии:", lsd.StyleElements.Item(1).GetSymbolShiftVer())
    print("новый стиль получил Id", L.LineStyles.AddItem(lsd, -1))