LabelLayers property (Layer)

Возвращает коллекцию меток LabelLayers для работы с надписями данного слоя .

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

Layer

Синтаксис:

Visual Basic:

Property LabelLayers As LabelLayers

read-only

Описание:

Коллекция содержит варианты надписей слоя: каждый вариант - это отдельный объект LabelLayer со своим набором полей. Нумерация в Item идет с нуля, до Count - 1; по ID вариант берется свойством ItemById, а перевести номер в ID и обратно позволяют методы GetIdByIndex и GetIndexById.

Имя варианта, которое видно в системе, хранится в свойстве UserName; свойство TypeID показывает, к какому типу объектов вариант относится. Свойство Enable включает и выключает отдельный вариант, а метод EnableAll - сразу все варианты слоя.

Пример:

Visual Basic:

Sub Layer_LabelLayers
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set LL = L.LabelLayers
S = "Вариантов надписей: " & LL.Count
'Нумерация вариантов с нуля
For i = 0 To LL.Count - 1
  Set V = LL.Item(i)
  S = S & vbCrLf & LL.GetIdByIndex(i) & ": " & V.UserName & _
      " (тип " & V.TypeID & ", включен " & V.Enable & ")"
Next
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_LabelLayers():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    ll = L.LabelLayers
    print("Вариантов надписей:", ll.Count)
    # Нумерация вариантов с нуля
    for i in range(ll.Count):
        v = ll.Item(i)
        print(ll.GetIdByIndex(i), ":", v.UserName,
              "(тип", v.TypeId, ", включен", v.Enable, ")")