Возвращает значения флагов, используемых при редактировании слоя.
Visual Basic:
Function GetEditFlags() As Long
На данный момент задействованы следующие флаги:
Флаг
Значение
1
Перемещать бирки при перемещении объекта
2
Создавать бирки при создании новых объектов
4
Дублировать атрибуты при дублировании объектов
Флаги складываются. Сразу после открытия слоя метод возвращает флаги, сохранённые в слое; у нового слоя это 0. После SetEditFlags этот же объект Layer возвращает заданное значение без неиспользуемых битов (например, 255 даёт 7). Другой объект Layer, открытый для того же слоя, и повторное открытие слоя дают прежнее, сохранённое значение.
Visual Basic:
Sub Layer_GetEditFlags 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active F = L.GetEditFlags S = "Флаги редактирования слоя: " & F If F And 1 Then S = S & vbCrLf & "- бирки перемещаются вместе с объектом" If F And 2 Then S = S & vbCrLf & "- у новых объектов создаются бирки" If F And 4 Then S = S & vbCrLf & "- при дублировании объектов дублируются атрибуты" MsgBox S End SubPython:
import zulu def Macro_Layer_GetEditFlags(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active f = L.GetEditFlags() print("Флаги редактирования слоя:", f) if f & 1: print("- бирки перемещаются вместе с объектом") if f & 2: print("- у новых объектов создаются бирки") if f & 4: print("- при дублировании объектов дублируются атрибуты")