This document is archived and information here might be outdated.  Recommended version.

ISymbolCollectionElement Interface (ArcObjects .NET 10.8 SDK)
ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > Carto > ESRI.ArcGIS.Carto > Interfaces > IS > ISymbolCollectionElement Interface
ArcGIS Developer Help

ISymbolCollectionElement Interface

Provides further access to members that control Collection Symbol Elements.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Name Description
Read/write property AnchorPoint Callout anchor point.
Read/write property Background Background symbol.
Read/write property Bold Indicates whether bold fonts style.
Read/write property CharacterSpacing The character spacing.
Read/write property CharacterWidth The character width.
Read/write property Color Font color.
Method DrawESRIAnno Draws the anno in a compressed format.
Method ExportToESRIAnno Saves the anno in a compressed format.
Read/write property FlipAngle Flip angle.
Read/write property FontName Font name.
Read/write property Geometry Shape of the element as a geometry.
Method GetSharedSymbol Collection symbol.
Read/write property HorizontalAlignment Horizontal alignment style.
Method ImportFromESRIAnno Loads the anno in a compressed format.
Read/write property Italic Indicates whether italic font style.
Read/write property Leading The character leading.
Read/write property OverriddenProperties Overridden properties.
Read/write property OverriddenPropertiesExclusionMask Mask used to exclude overrides when drawing.
Write-only property SharedSymbol The symbol ID associated with this element.
Read/write property Size Font size.
Read-only property SymbolID Symbol ID associated with this element.
Read/write property Text Text being displayed by this element.
Read/write property TextPath Text path.
Read/write property Underline Indicates whether underline font style.
Read/write property VerticalAlignment Vertical alignment style.
Read/write property WordSpacing The word spacing.
Read/write property XOffset Text offset along X-axis.
Read/write property YOffset Text offset along Y-axis.

Classes that implement ISymbolCollectionElement

Classes Description
ParagraphTextElement The Graphic Element to display text which flows into an area geometry.
PMFTitleTextElement The Graphic Element to display dynamic PMF titles.
TextElement The Graphic Element to display text.


Annotation feature classes often contain many text elements referencing text symbols with the same properties.  Rather than redundantly storing the same symbol with each feature in the feature class, annotation feature classes are created with a symbol collection and the TextElements of annotation features can reference symbols in this collection.

ISymbolCollectionElement provides access to properties of TextElements which reference TextSymbols stored in a SymbolCollection as part of Geodatabase Annotation Feature Classes.  When editing the TextElements of annotation features, it is critical that this interface is used in order to maintain the linkage to the SymbolCollection symbol.  Accessing and updating symbol properties through ITextElement::Symbol will cause the TextElement to become disconnected from the SymbolCollection symbol and the symbol will be stored inline with the feature in the feature class.  This is undesirable since TextSymbols can be large in size.

When referencing a symbol in the collection, it is possible to override some of the TextSymbol properties without disconnecting it from the symbol collection symbol.  The following properties are overridable: XOffset, YOffset, Horizontal Alignment, Vertical Alignment, Flip Angle, Size, Color, Character Spacing, Character Width, Word Spacing, Leading, Bold, Italic, Underline, Background, and Font Name.  Setting any of these properties via ISymbolCollectionElement will properly apply the override to the element.  Utilizing overrides instead of disconnecting the element from the SymbolCollection will help minimize the amount of storage required.  If you find yourself needing to override many properties to reach the desired appearance for a lot of features, it is recommended that you add another symbol to the symbol collection rather than storing many overrides.

If a element is not referencing a symbol in the SymbolCollection, ISymbolCollectionElement::SymbolID will report a value of -1.  Otherwise, it will report the ID of the referenced text symbol.

The property ISymbolCollectionElement::OverriddenProperties reports the value of combined overrides applied to the current element.  See the help for this property for an example of how to evaluate this property.  If the SymbolID of the element is -1, this property will always report 0.