LabelsID property (Layer)

Возвращает/устанавливает ID файла надписей (0 - *.L00, 1 - *.L01 и т.д.) слоя.

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

Layer

Синтаксис:

Visual Basic:

Property LabelsID As Integer

Описание:

Значение -1 указывает на то, что надписи к слою не подключены. При попытке присвоить ID несуществующего файла надписей, свойство LabelsID принимает значение -1.

Данное свойство не имеет смысла для типовых объектов слоя, так как для них файлы надписей должны относится не к слою целиком, а к конкретным типам. В этом случае следует пользоваться методами GetLabelsID и SetLabelsID.

У слоя с типовыми объектами свойство остается равным -1 и тогда, когда варианты надписей включены: включенный вариант виден только через GetLabelsID. Присвоение такому слою ID варианта молча не принимается, свойство остается -1.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

Слой не открыт. Операция проводится со слоем, который либо не загружен в карту, либо не открыт с помощью метода Open.

Пример:

Visual Basic:

Sub Layer_LabelsID
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
S = "LabelsID слоя: " & L.LabelsID
If L.LabelsID = -1 Then
  S = S & vbCrLf & "надписи к слою целиком не подключены,"
  S = S & vbCrLf & "смотрим подключенные варианты по типам:"
  'У типового слоя надписи подключаются к типам
  Set LL = L.LabelLayers
  For i = 0 To LL.Count - 1
    T = LL.Item(i).TypeID
    S = S & vbCrLf & "тип " & T & ": " & L.GetLabelsID(T)
  Next
End If
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_LabelsID():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    print("LabelsID слоя:", L.LabelsID)
    if L.LabelsID == -1:
        print("надписи к слою целиком не подключены,")
        print("смотрим подключенные варианты по типам:")
        # У типового слоя надписи подключаются к типам
        ll = L.LabelLayers
        for i in range(ll.Count):
            t = ll.Item(i).TypeId
            print("тип", t, ":", L.GetLabelsID(t))