AddContour method (Layer)

В слой добавляется контурный элемент.

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

Layer

Синтаксис:

Visual Basic:

Function AddContour(Region As Contour, Style As ElemStyle, ElemType As Long,ElemMode As Long) As Long

Region - контурный объект с установленными параметрами.

Style - объект-стиль отображения контура.

ElemType - ID типа

ElemMode - номер режима (нумерация с единицы)

Описание:

В случае успеха метод возвращает ID добавленного в слой объекта.

В противном случае метод вернет -1.

Чтобы добавить непривязанный к структуре слоя объект (примитив), ElemType и ElemMode задают равными -1.

Контур замыкается автоматически: у объекта, созданного из четырёх вершин, их пять. Контур меньше чем из трёх вершин метод не добавляет: он возвращает -1, а метод GetLastErrorCode — код -5.

Пример:

Visual Basic:

Sub Layer_AddContour
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set R = L.GetBoundsRectangle
'Готовим квадратный контур правее слоя
Set C = CreateObject("ZuluLib.Contour")
D = (R.Xmax - R.Xmin) / 10
X = R.Xmax + D
Y = R.Ymin
C.AddPoint X, Y
C.AddPoint X + D, Y
C.AddPoint X + D, Y + D
C.AddPoint X, Y + D
'Красная заливка стилем 2 из библиотеки слоя, тонкая граница
Set St = CreateObject("ZuluLib.ElemStyle")
St.FillStyle = 2
St.PatColor = RGB(255, 0, 0)
St.BorderWidth = 1
'Тип и режим -1: добавляем примитив
MsgBox "Добавлен контур " & L.AddContour(C, St, -1, -1)
End Sub

Python:

import zulu

def Macro_Layer_AddContour():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    R = L.GetBoundsRectangle()
    # Готовим квадратный контур правее слоя
    C = zulu.Contour()
    d = (R.Xmax - R.Xmin) / 10
    x = R.Xmax + d
    y = R.Ymin
    for px, py in ((x, y), (x + d, y), (x + d, y + d), (x, y + d)):
        C.AddPoint(px, py)
    # Красная заливка стилем 2 из библиотеки слоя, тонкая граница
    St = zulu.ElemStyle()
    St.FillStyle = 2
    St.PatColor = 255
    St.BorderWidth = 1
    # Тип и режим -1: добавляем примитив
    print("Добавлен контур", L.AddContour(C, St, -1, -1))