Возвращает/устанавливает статус вывода надписей пользователя.
Visual Basic:
Property UserLabel As Boolean
Пользователь может «перехватывать» вывод надписей и вместо вывода информации из семантической БД, для которой данная надпись создавалась, выводить свои пользовательские надписи. При этом стиль вывода надписей остается прежний, изменяется только текст надписи. Для этого необходимо установить данное свойство в значение True. После установки при любом перестроении карты будет возникать событие OnDrawUserLabels, в обработчик которого можно поставить вывод собственных надписей.
У слоев из поставки свойство исходно равно False. В файлах слоя оно не сохраняется и действует только до закрытия слоя: при следующем открытии свойство снова False.
Пока свойство равно True, штатные надписи слоя на карту не выводятся - их место занимает то, что нарисует обработчик события. Если обработчика нет, надписи просто пропадают с карты при ближайшей перерисовке и возвращаются, когда свойству возвращают значение False.
В случае неудачи возникает исключение с одним из следующих кодов:
Код
Описание
513
Слой не открыт. Операция проводится со слоем, который либо не загружен в карту, либо не открыт с помощью метода Open.
Пример включает перехват надписей слоя и возвращает слой в прежнее состояние.
Visual Basic:
Sub Layer_UserLabel 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active S = "Было: " & L.UserLabel 'Перехватываем вывод надписей слоя L.UserLabel = True S = S & vbCrLf & "после включения: " & L.UserLabel 'Возвращаем как было L.UserLabel = False S = S & vbCrLf & "после выключения: " & L.UserLabel MsgBox S End SubPython:
import zulu def Macro_Layer_UserLabel(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active print("Было:", L.UserLabel) # Перехватываем вывод надписей слоя L.UserLabel = True print("после включения:", L.UserLabel) # Возвращаем как было L.UserLabel = False print("после выключения:", L.UserLabel)