Представляет объект, содержащий параметры отображения линейных, контурных, символьных и текстовых графических объектов. Как свойство входит в объект 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 SubPython:
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))