SetLabelsID method (Layer)

Подключает к заданному типу объектов слоя надписи из файла с указанным ID (0 - *.L00, 1 - *.L01 и т.д.).

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

Layer

Синтаксис:

Visual Basic:

SubSetLabelsID(Type, Id As Integer)

Type - это либо ID (As Long) типа объектов, либо пользовательское название типа объектов (As String).

Id - идентификатор подключаемого файла надписей.

Описание:

Значение для типа -1 указывает на то, что надписи для данного типа отключаются. Если файл с указанным идентификатором не найден или не относится к заданному типу объектов, ID надписей для данного типа принимает значение -1.

Подключение видно и с другой стороны: у соответствующего варианта надписей из коллекции LabelLayers свойство Enable становится True, а после отключения (-1) - снова False. Проверить результат позволяет метод GetLabelsID.

Тип задается и номером, и названием - результат одинаковый. Метод ничего не возвращает и на неверные данные не жалуется: несуществующее название типа, несуществующий ID типа и ID файла надписей, которого нет, проходят без ошибки.

Неверный ID уже подключенные надписи не сбрасывает: попытка подключить несуществующий вариант оставляет подключенным прежний. А вот вариант, который относится к другому типу, дает -1, то есть надписи у типа пропадают.

Пример:

Пример подключает к типу «Участки» первый вариант надписей и отключает его обратно.

Visual Basic:

Sub Layer_SetLabelsID
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set LL = L.LabelLayers
S = "Вариантов надписей: " & LL.Count
S = S & vbCrLf & "у типа 6 сейчас: " & L.GetLabelsID(6)
'Подключаем типу 6 вариант с ID 0
L.SetLabelsID 6, 0
S = S & vbCrLf & "после подключения: " & L.GetLabelsID(6) & ", вариант включен: " & LL.Item(0).Enable
'Отключаем надписи у типа
L.SetLabelsID 6, -1
S = S & vbCrLf & "после отключения: " & L.GetLabelsID(6) & ", вариант включен: " & LL.Item(0).Enable
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_SetLabelsID():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    ll = L.LabelLayers
    print("Вариантов надписей:", ll.Count)
    print("у типа 6 сейчас:", L.GetLabelsID(6))
    # Подключаем типу 6 вариант с ID 0
    L.SetLabelsID(6, 0)
    print("после подключения:", L.GetLabelsID(6), ", вариант включен:", ll.Item(0).Enable)
    # Отключаем надписи у типа
    L.SetLabelsID(6, -1)
    print("после отключения:", L.GetLabelsID(6), ", вариант включен:", ll.Item(0).Enable)