OnDrawUserLabels event (MapCtrl)

Позволяет пользователю перехватить вывод стандартных надписей на экран и поставить свою обработку вывода надписей на карту.

Возникает от:

MapCtrl

Синтаксис:

Event OnDrawUserLabels(DrawHandle As Long, LayerIndex As Long)

Пример:

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