GetText method (IZEnumElements)

Возвращает текст текстового объекта.

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

IZEnumElements

Синтаксис:

Visual Basic:

Function GetText() As String

Описание:

Метод рассчитан на текстовые объекты — те, у которых GraphType равен eGraphTypePrimText или eGraphTypeTypedText из набора eElemGraphType.

На объекте другого вида метод возвращает не пустую строку, а произвольный набор символов — причём один и тот же при повторных вызовах. Поэтому графический тип следует проверять заранее.

Пример:

Visual Basic:

Sub IZEnumElements_GetText
'Итератор по объектам активного слоя карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set En = L.EnumElements
En.MoveFirst
'Текст есть только у текстовых объектов
Do While Not En.IsEOF
  If En.GraphType = 6 Or En.GraphType = 20 Then
    MsgBox "Объект " & En.ElemID & ": '" & En.GetText & "'"
    Exit Sub
  End If
  En.MoveNext
Loop
MsgBox "В слое нет текстовых объектов"
End Sub

Python:

import zulu

def Macro_IZEnumElements_GetText():
    # Итератор по объектам активного слоя карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    En = L.EnumElements()
    En.MoveFirst()
    # Текст есть только у текстовых объектов
    while not En.IsEOF():
        if En.GraphType in (6, 20):
            print("Объект %d: %r" % (En.ElemID, En.GetText()))
            return
        En.MoveNext()
    print("В слое нет текстовых объектов")