MoveFirst method (IZEnumElements)

Делает текущим первый объект слоя.

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

IZEnumElements

Синтаксис:

Visual Basic:

Sub MoveFirst()

Описание:

С этого метода начинается любой обход: до его вызова итератор пуст, IsEOF возвращает True, а ElemID-1. Если в слое нет ни одного объекта, IsEOF останется True и после вызова.

Ограничение обхода выделенными объектами задаётся методом SetSelectedOnly до MoveFirst.

Метод можно вызвать повторно, чтобы начать обход заново.

Пример:

Visual Basic:

Sub IZEnumElements_MoveFirst
'Итератор по объектам активного слоя карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set En = L.EnumElements
En.MoveFirst
'Полный обход слоя
n = 0
Do While Not En.IsEOF
  n = n + 1
  En.MoveNext
Loop
'Начинаем сначала
En.MoveFirst
MsgBox "Объектов в слое: " & n & vbCrLf & "После повторного MoveFirst: " & En.ElemID
End Sub

Python:

import zulu

def Macro_IZEnumElements_MoveFirst():
    # Итератор по объектам активного слоя карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    En = L.EnumElements()
    En.MoveFirst()
    # Полный обход слоя
    n = 0
    while not En.IsEOF():
        n += 1
        En.MoveNext()
    # Начинаем сначала
    En.MoveFirst()
    print("Объектов в слое:", n)
    print("После повторного MoveFirst:", En.ElemID)