DrawElemIDLabel method (Layer)

Выводит пользовательский текст в надписи для указанного элемента.

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

Layer

Синтаксис:

Visual Basic:

FunctionDrawElemIDLabel(ElemID As Long, text As String) As Boolean

ElemID - ключ объекта слоя, для которого выводится надпись.

text - текст, выводимый на карту вместо стандартной надписи.

Описание:

Если для слоя созданы и подключены надписи, то, если существует такая необходимость, можно выводить свои данные на карту, перехватывая событие OnDrawUserLabels.При этом стиль вывода надписей остается прежний, изменяется только текст надписи.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

Слой не открыт. Операция проводится со слоем, который либо не загружен в карту, либо не открыт с помощью метода Open.

Пример:

Private Sub MapCtrl1_OnDrawUserLabels(ByVal DrawHandle As Long, ByVal LayerIndex As Long)
           
Dim i As Long
Dim els As ElementKeys
           
'если к слою не подключены надписи, то выход из процедуры
If MapCtrl1.Map.Layers.Item(LayerIndex).LabelsID = -1 Then Exit Sub

'получение ключей объектов, для которых подключены надписи и которые видны на карте
Set els = MapCtrl1.Map.Layers.Item(LayerIndex).DrawLabelsInit(DrawHandle, -1)
           
For i = 1 To els.Count
'вместо стандартной надписи выводится ключ объекта (ID)
MapCtrl1.Map.Layers.Item(LayerIndex).DrawElemIDLabel els.Item(i), Str(els.Item(i))

Next i

MapCtrl1.Map.Layers.Item(LayerIndex).DrawLabelsClose
           
End Sub