SetLineWidthType method (LineStyleElement)

Метод задает тип толщины линии.

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

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineWidthType(eType As eThickType)

eType - тип толщины линии:

0 - постоянная.

1 - добавочная.

2 - пропорциональная.

Описание:

Тип решает, как толщина элемента сочетается с толщиной, с которой рисуют линию (у метода Draw это его параметр LineWidth).

При типе 0 элемент рисуется своей толщиной независимо от толщины линии; при типе 1 толщины элемента и линии складываются, при типе 2 - перемножаются. У элемента с нулевой толщиной пропорциональный тип оставляет тончайшую линию при любой толщине, а добавочный дает толщину самой линии.

У только что созданного элемента тип равен 0, а у элементов готовых стилей обычно 1: своей толщины у них нет, и линия рисуется толщиной объекта.

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

Пример:

Пример собирает стиль, толщина которого складывается с толщиной линии.

Visual Basic:

Sub LineStyleElement_SetLineWidthType
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set lsd = CreateObject("ZuluLib.LineStyleDef")
Set lse = CreateObject("ZuluLib.LineStyleElement")
'Красная сплошная линия толщиной 1 миллиметр
lse.SetLineColor RGB(255, 0, 0)
lse.SetLineType 0
lse.SetLineWidth 1
'Толщина элемента складывается с толщиной самой линии
lse.SetLineWidthType 1
lsd.AddLineElement lse
S = "Тип толщины в элементе: " & lsd.StyleElements.Item(0).GetLineWidthType
S = S & vbCrLf & "новый стиль получил Id " & L.LineStyles.AddItem(lsd, -1)
MsgBox S
End Sub

Python:

import zulu

def Macro_LineStyleElement_SetLineWidthType():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    lsd = zulu.LineStyleDef()
    lse = zulu.LineStyleElement()
    # Красная сплошная линия толщиной 1 миллиметр
    lse.SetLineColor(255)
    lse.SetLineType(0)
    lse.SetLineWidth(1)
    # Толщина элемента складывается с толщиной самой линии
    lse.SetLineWidthType(1)
    lsd.AddLineElement(lse)
    # Сам вид толщины в python не прочитать: GetLineWidthType возвращает None
    print("Толщина в элементе:", lsd.StyleElements.Item(0).GetLineWidth())
    print("новый стиль получил Id", L.LineStyles.AddItem(lsd, -1))