ChangedElements property (Layer)

Возвращает коллекцию ChangedElementKeys, содержащую список объектов слоя, которые были изменены в результате последней операции редактирования.

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

Layer

Синтаксис:

Visual Basic:

Property ChangedElements As ChangedElementKeys

read-only

Описание:

Коллекция описывает только последнюю операцию: каждая следующая правка заменяет её содержимое. В неё попадают добавленные, изменённые и удалённые объекты — в том числе при правке из программы: после добавления символа коллекция содержит его ключ, после разбиения линии символом — ключи исходной и новой линии. Что именно произошло с каждым объектом, сообщает свойство EditResult коллекции.

Пока слой не редактировался, коллекция пуста.

Пример:

Visual Basic:

Sub Layer_ChangedElements
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
'Объекты, затронутые последней правкой слоя
Set Keys = L.ChangedElements
If Keys.Count = 0 Then
  MsgBox "Слой еще не редактировался"
  Exit Sub
End If
S = "Затронуто объектов: " & Keys.Count
For i = 1 To Keys.Count
  S = S & vbCrLf & "ID " & Keys.Item(i) & ", результат " & Keys.EditResult(i)
Next
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_ChangedElements():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    # Объекты, затронутые последней правкой слоя
    Keys = L.ChangedElements
    if Keys.Count == 0:
        print("Слой еще не редактировался")
        return
    print("Затронуто объектов:", Keys.Count)
    for i in range(1, Keys.Count + 1):
        print("ID", Keys.Item(i))