RUS  ENG 

Редактирование надписей с помощью LabelLayers

Страницы: 1
RSS
Редактирование надписей с помощью LabelLayers
 
Здравствуйте!
Просьба подсказать как правильно редактировать надписи с помощью LabelLayers. С помощью кода ниже получается включить нужный вид надписей, но изменение его параметров не происходит. Что я делаю не так?
Код
Set L = MAP.Layers.Active

L.LabelLayers.ItemById(2).Enable = true 

L.LabelLayers.ItemById(2).ScaleLimited = true 
L.LabelLayers.ItemById(2).Auto = true 
L.LabelLayers.ItemById(2).BasicScale= 0
L.LabelLayers.ItemById(2).FrameColor = true 
L.LabelLayers.ItemById(2).ShortLines = true 
L.LabelLayers.ItemById(2).LabelFields.Item(0).Prefix = "2Ду"
 
Цитата
Павел Рубцов написал:
Здравствуйте!
Просьба подсказать как правильно редактировать надписи с помощью LabelLayers. С помощью кода ниже получается включить нужный вид надписей, но изменение его параметров не происходит. Что я делаю не так?
Код
 Set L = MAP.Layers.Active

L.LabelLayers.ItemById(2).Enable = true 

L.LabelLayers.ItemById(2).ScaleLimited = true 
L.LabelLayers.ItemById(2).Auto = true 
L.LabelLayers.ItemById(2).BasicScale= 0
L.LabelLayers.ItemById(2).FrameColor = true 
L.LabelLayers.ItemById(2).ShortLines = true 
L.LabelLayers.ItemById(2).LabelFields.Item(0).Prefix = "2Ду" 
Общий принцип такой: получаем в переменную LabelLayer
Код
Set LL = L.LabelLayers.ItemById(2)
   
'Затем присваиваем переменной все что хотим, а затем возвращаем изменения в слой под тем же ID

L.LabelLayers.SetLabelLayer 2, LL, False, False, 0, 0, 0


С LabelFields уже для LL так же
Код
Set LF = LL.LabelFields.Item(0)
   
LF.Prefix = "2Ду" 
   
LL.LabelFields.UpdateItem 0, LF
 
Спасибо за помощь
Страницы: 1