Как создать легенду в VBA

0 голосов
спросил 07 Июнь, 05 от Geolog1 (1,060 баллов) в категории Программные продукты Esri
Необходимо программно создать легенду уникальных значений поля(полигональная тема), чтобы каждому значению соответствовала своя заливка из растрового файла. Как это реализовать?

1 Ответ

0 голосов
ответил 07 Июнь, 05 от Geolog1 (1,060 баллов)

Разобрался, можно сделать так:

 

Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument
'->
Dim m As IMap
Set m = pMxDoc.Maps.Item(0)

Dim gfl As IGeoFeatureLayer
Dim r As IUniqueValueRenderer
Dim p As IPictureFillSymbol


Set gfl = m.Layer(0)
Set r = gfl.Renderer
Set sfs = r.DefaultSymbol

r.RemoveAllValues

Set p = New esriDisplay.PictureFillSymbol: Call p.CreateFillSymbolFromFile(esriIPictureBitmap, "e:\magn.bmp"): Call r.AddValue("magn", "TYPE", p)
Set p = New esriDisplay.PictureFillSymbol: Call p.CreateFillSymbolFromFile(esriIPictureBitmap, "e:\grav.bmp"): Call r.AddValue("grav", "TYPE", p)

Set gfl.Renderer = r

'обновить вид
pMxDoc.UpdateContents
pMxDoc.ActiveView.Refresh

'<-

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...