SetLabel (InMemoryLayer)

Задает надпись, выводимую рядом с объектом слоя в памяти.

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

InMemoryLayer

Синтаксис:

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 Sub

Python:

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))