GetEditFlags method (Layer)

Возвращает значения флагов, используемых при редактировании слоя.

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

Layer

Синтаксис:

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 Sub

Python:

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("- при дублировании объектов дублируются атрибуты")