AddText method (Layer)

Добавляет в слой текстовый объект.

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

Layer

Синтаксис:

Visual Basic:

Function AddText(X As Double, Y As Double, text As String, Style As ElemStyle) As Long

X, Y - координаты объекта.

text - текст.

Style - объект, задающий стиль отображения текстового объекта.

Описание:

В случае успеха метод возвращает ключ (ID) добавленного в слой объекта.

В противном случае метод вернет -1.

Текст не привязан к структуре слоя: высота, цвет, шрифт и угол поворота берутся из стиля и хранятся вместе с объектом. Угол задаётся свойством TextAngle стиля. Текст может состоять из нескольких строк, разделённых переводом строки.

Без стиля (Nothing) и с пустой строкой метод объект не добавляет и возвращает -1.

Пример:

Visual Basic:

Sub Layer_AddText
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set R = L.GetBoundsRectangle
Set Style = CreateObject("ZuluLib.ElemStyle")
'Высота текста на местности - пятидесятая часть ширины слоя
Style.TextHeight = (R.Xmax - R.Xmin) / 50
'Цвет красный
Style.FontColor = RGB(255, 0, 0)
'Получаем текущий шрифт стиля, меняем и назначаем обратно
Set Font = Style.Font
Font.Italic = True
Font.Bold = True
Font.Name = "Times New Roman"
Style.Font = Font
'Записываем текст правее слоя
MsgBox "Добавлен текст " & L.AddText(R.Xmax + (R.Xmax - R.Xmin) / 10, R.Ymin, "АБВГД", Style)
End Sub

Python:

import zulu

def Macro_Layer_AddText():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    R = L.GetBoundsRectangle()
    Style = zulu.ElemStyle()
    # Высота текста на местности - пятидесятая часть ширины слоя
    Style.TextHeight = (R.Xmax - R.Xmin) / 50
    # Цвет красный
    Style.FontColor = 255
    # Записываем текст правее слоя
    print("Добавлен текст", L.AddText(R.Xmax + (R.Xmax - R.Xmin) / 10, R.Ymin, "АБВГД", Style))