Create a default Character Marker Symbol by supplying a default symbol color, font size and character.
[C#]
///<summary>Create a default Character Marker Symbol by supplying a default symbol color, font size and character.</summary> /// ///<param name="rgbColor">An IRgbColor interface that is the symbol color of the Character Marker Symbol.</param> ///<param name="fontSize">A System.Decimal that is the size of the font for the Character Marker Symbol. Example: 24.0</param> ///<param name="characterIndex">A System.Int32 that is the character index number of the font you want to create. Example: 36</param> /// ///<returns>An ICharacterMarkerSymbol interface.</returns> /// ///<remarks> /// To find what character index you need for a particular font: /// 1. Open ArcMap /// 2. Add in any point dataset /// 3. Double click on a point symbol in the TOC /// 4. In the Symbol Selector dialog, click the properties button /// 5. In the Symbol Property Editor dialog, change the Type to 'Character Marker Symbol' /// 6. Choose the desired Font /// 7. Click on the different character symbols to see what Unicode index numer you need /// </remarks> public ESRI.ArcGIS.Display.ICharacterMarkerSymbol CreateCharacterMarkerSymbol(ESRI.ArcGIS.Display.IRgbColor rgbColor, System.Double fontSize, System.Int32 characterIndex) { if (rgbColor == null) { return null; } // Define the Font we want to use stdole.IFontDisp stdFont = new stdole.StdFontClass() as stdole.IFontDisp; // Dynamic Cast stdFont.Name = "ESRI Default Marker"; stdFont.Size = (System.Decimal)fontSize; // Explicit Cast // Set the CharacterMarkerSymbols Properties ESRI.ArcGIS.Display.ICharacterMarkerSymbol characterMarkerSymbol = new ESRI.ArcGIS.Display.CharacterMarkerSymbolClass(); characterMarkerSymbol.Angle = 0; // 0 to 360 characterMarkerSymbol.CharacterIndex = characterIndex; characterMarkerSymbol.Color = rgbColor; characterMarkerSymbol.Font = stdFont; characterMarkerSymbol.Size = fontSize; characterMarkerSymbol.XOffset = 0; characterMarkerSymbol.YOffset = 0; return characterMarkerSymbol; }
[Visual Basic .NET]
'''<summary>Create a default Character Marker Symbol by supplying a default symbol color, font size and character.</summary> ''' '''<param name="rgbColor">An IRgbColor interface that is the symbol color of the Character Marker Symbol.</param> '''<param name="fontSize">A System.Decimal that is the size of the font for the Character Marker Symbol. Example: 24.0</param> '''<param name="characterIndex">A System.Int32 that is the character index number of the font you want to create. Example: 36</param> ''' '''<returns>An ICharacterMarkerSymbol interface.</returns> ''' '''<remarks> ''' To find what character index you need for a particular font: ''' 1. Open ArcMap ''' 2. Add in any point dataset ''' 3. Double click on a point symbol in the TOC ''' 4. In the Symbol Selector dialog, click the properties button ''' 5. In the Symbol Property Editor dialog, change the Type to 'Character Marker Symbol' ''' 6. Choose the desired Font ''' 7. Click on the different character symbols to see what Unicode index numer you need ''' </remarks> Public Function CreateCharacterMarkerSymbol(ByVal rgbColor As ESRI.ArcGIS.Display.IRgbColor, ByVal fontSize As System.Double, ByVal characterIndex As System.Int32) As ESRI.ArcGIS.Display.ICharacterMarkerSymbol If rgbColor Is Nothing Then Return Nothing End If ' Define the Font we want to use Dim stdFont As stdole.IFontDisp = CType(New stdole.StdFont, stdole.IFontDisp) ' Explicit Cast stdFont.Name = "ESRI Default Marker" stdFont.Size = CDec(fontSize) ' Set the CharacterMarkerSymbols Properties Dim characterMarkerSymbol As ESRI.ArcGIS.Display.ICharacterMarkerSymbol = New ESRI.ArcGIS.Display.CharacterMarkerSymbolClass With characterMarkerSymbol .Angle = 0 ' 0 to 360 .CharacterIndex = characterIndex .Color = rgbColor .Font = stdFont .Size = fontSize .XOffset = 0 .YOffset = 0 End With Return characterMarkerSymbol End Function