[GIS] Changing symbol and legend of feature class in ArcMap using ArcObjects

arcmaparcobjects

I want to change the symbol of features and legend programmatically. When I use this code

Dim pSymbolSelector As ISymbolSelector
Set pSymbolSelector = New SymbolSelector
Dim pMarker As ISimpleMarkerSymbol
Set pMarker = New SimpleMarkerSymbol
If Not pSymbolSelector.AddSymbol(pMarker) Then
       MsgBox "Could not add symbol"
ElseIf pSymbolSelector.SelectSymbol(0) Then
       Dim pSymbol As ISymbol
       Set pSymbol = pSymbolSelector.GetSymbolAt(0)
End If

then Symbol Selector is open, but when I select a symbol it is not being applied at the current layer in Table of Contents.

Best Answer

According to the ESRI documentation: "The SymbolSelector class is used for presenting the user with a choice of symbols: marker, line, fill, or text. The symbols in the selector are taken from the currently referenced style files."

If you want to handle this task programmatically, without user input, you can use IFeatureRenderer.

Related Question