ElemStyle object

Представляет объект, содержащий параметры отображения линейных, контурных, символьных и текстовых графических объектов. Как свойство входит в объект Element. Используется как исходный параметр во всех методах записи в слой новых объектов: AddBufferZone, AddContour, AddPolyContour, AddPolyLine, AddText и др.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.ElemStyle

CLSID:

{12507096-0B01-11D2-B55D-444553540000}

Свойства:

Описание:

Объект задает параметры отображения и сам по себе ни с каким объектом слоя не связан: его создают, заполняют и передают в метод записи. Стиль уже существующего объекта читается свойствами ElemStyle и CurrentElemStyle объекта Element: первое дает основной стиль, второе — стиль текущего отображения, с учетом тематической раскраски.

Набор значащих свойств зависит от вида объекта: для линий это цвет, толщина и стиль линии, для контуров добавляются цвета узора, фона и границы, для символов — номер и размер символа, для текста — шрифт и его параметры.

Пример:

Visual Basic:

Sub ElemStyle_cls
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
'Готовим стиль отображения
Set eStyle = CreateObject("ZuluLib.ElemStyle")
'Цвет узора - красный
eStyle.PatColor = RGB(255, 0, 0)
'Граница - тонкая сплошная линия синего цвета
eStyle.BorderStyle = 0
eStyle.BorderWidth = 1
eStyle.BorderColor = RGB(0, 0, 255)
'Строим треугольный контур
Set cell = CreateObject("ZuluLib.Contour")
cell.AddPoint 9800000, 10800000
cell.AddPoint 9810000, 10810000
cell.AddPoint 9850000, 10820000
'Записываем контур в слой с этим стилем
MsgBox "Ключ нового объекта: " & L.AddContour(cell, eStyle, -1, -1)
End Sub

Python:

import zulu

def Macro_ElemStyle_cls():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    # Готовим стиль отображения
    eStyle = zulu.ElemStyle()
    # Цвет задается числом: красный + зеленый * 256 + синий * 65536
    eStyle.PatColor = 255
    # Граница - тонкая сплошная линия синего цвета
    eStyle.BorderStyle = 0
    eStyle.BorderWidth = 1
    eStyle.BorderColor = 16711680
    # Строим треугольный контур
    cell = zulu.Contour()
    cell.AddPoint(9800000, 10800000)
    cell.AddPoint(9810000, 10810000)
    cell.AddPoint(9850000, 10820000)
    # Записываем контур в слой с этим стилем
    print("Ключ нового объекта:", L.AddContour(cell, eStyle, -1, -1))