Задает надпись, выводимую рядом с объектом слоя в памяти.
Visual Basic:
Function SetLabel(ElemID As Long, text As String, Style As ElemStyle, align As eLabelPosition) As Boolean
ElemID - ID объекта.
text - текст надписи.
Style - объект с параметрами отображения надписи.
align - флаги ориентации надписи относительно объекта; могут принимать значения из набора eLabelPosition.
Метод возвращает True, если надпись задана, и False, если объекта с указанным ElemID в слое нет.
Методы объекта InMemoryLayer действуют только тогда, когда слой загружен в память. Пока свойство InMemory объекта Layer не установлено, метод возвращает False для любого объекта.
В отличие от SetText, надпись не привязана к метке в описании символа и выводится рядом с объектом.
Visual Basic:
Sub InMemoryLayer_SetLabel 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active 'Методы слоя в памяти действуют только когда слой загружен в память L.InMemory = True Set IML = L.InMemoryLayer 'Параметры отображения надписи Set st = CreateObject("ZuluLib.ElemStyle") st.FontColor = RGB(255, 0, 0) 'Надпись у объекта с ключом 1, сверху и справа от него: eNorthEast = 6 MsgBox "Надпись задана: " & IML.SetLabel(1, "Проба", st, 6) End SubPython:
import zulu def Macro_InMemoryLayer_SetLabel(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active # Методы слоя в памяти действуют только когда слой загружен в память L.InMemory = True IML = L.InMemoryLayer # Параметры отображения надписи st = zulu.ElemStyle() # Цвет задается числом: красный + зеленый * 256 + синий * 65536 st.FontColor = 255 # Надпись у объекта с ключом 1, сверху и справа от него: eNorthEast = 6 print("Надпись задана:", IML.SetLabel(1, "Проба", st, 6))