This document is archived and information here might be outdated. Recommended version. |
ArcObjects Help for .NET developers > ESRI.ArcGIS.Snippets > Snippets > Create Line Callout Snippet (ArcObjects .NET 10.4 SDK) |
Create a default Line Callout by supplying the background fill, leaderline, and accentbar colors.
///<summary>Create a default Line Callout by supplying the background fill, leaderline, and accentbar colors.</summary> /// ///<param name="backgroundRgbColor">An IRgbColor interface that is the background fill symbol color.</param> ///<param name="leaderlineRgbColor">An IRgbColor interface that is the line symbol color for the LeaderLine.</param> ///<param name="accentbarRgbColor">An IRgbColor intergace that is the line symbol color for the AccentBar.</param> /// ///<returns>An ILineCallout interface.</returns> /// ///<remarks></remarks> public ESRI.ArcGIS.Display.ILineCallout CreateLineCallout(ESRI.ArcGIS.Display.IRgbColor backgroundRgbColor, ESRI.ArcGIS.Display.IRgbColor leaderLineRgbColor, ESRI.ArcGIS.Display.IRgbColor accentbarRgbColor) { if(backgroundRgbColor == null || leaderLineRgbColor == null || accentbarRgbColor == null) { return null; } ESRI.ArcGIS.Display.ISimpleFillSymbol simpleFillSymbol=new ESRI.ArcGIS.Display.SimpleFillSymbolClass(); simpleFillSymbol.Color=backgroundRgbColor; simpleFillSymbol.Style=ESRI.ArcGIS.Display.esriSimpleFillStyle.esriSFSSolid; ESRI.ArcGIS.Display.ISimpleLineSymbol leaderlineSimpleLineSymbol=new ESRI.ArcGIS.Display.SimpleLineSymbolClass(); leaderlineSimpleLineSymbol.Color=leaderLineRgbColor; leaderlineSimpleLineSymbol.Width=2; ESRI.ArcGIS.Display.ISimpleLineSymbol accentbarSimpleLineSymbol=new ESRI.ArcGIS.Display.SimpleLineSymbolClass(); accentbarSimpleLineSymbol.Color=accentbarRgbColor; // Create the Callout ESRI.ArcGIS.Display.ILineCallout lineCallout=new ESRI.ArcGIS.Display.LineCalloutClass(); lineCallout.Style=ESRI.ArcGIS.Display.esriLineCalloutStyle.esriLCSFourPoint; lineCallout.Border=simpleFillSymbol; lineCallout.AccentBar=accentbarSimpleLineSymbol; lineCallout.LeaderLine=leaderlineSimpleLineSymbol; return lineCallout; }
'''<summary>Create a default Line Callout by supplying the background fill, leaderline, and accentbar colors.</summary> ''' '''<param name="backgroundRgbColor">An IRgbColor interface that is the background fill symbol color.</param> '''<param name="leaderlineRgbColor">An IRgbColor interface that is the line symbol color for the LeaderLine.</param> '''<param name="accentbarRgbColor">An IRgbColor intergace that is the line symbol color for the AccentBar.</param> ''' '''<returns>An ILineCallout interface.</returns> ''' '''<remarks></remarks> Public Function CreateLineCallout(ByVal backgroundRgbColor As ESRI.ArcGIS.Display.IRgbColor, ByVal leaderLineRgbColor As ESRI.ArcGIS.Display.IRgbColor, ByVal accentbarRgbColor As ESRI.ArcGIS.Display.IRgbColor) As ESRI.ArcGIS.Display.ILineCallout If backgroundRgbColor Is Nothing OrElse leaderLineRgbColor Is Nothing OrElse accentbarRgbColor Is Nothing Then Return Nothing End If Dim simpleFillSymbol As ESRI.ArcGIS.Display.ISimpleFillSymbol=New ESRI.ArcGIS.Display.SimpleFillSymbolClass simpleFillSymbol.Color=backgroundRgbColor simpleFillSymbol.Style=ESRI.ArcGIS.Display.esriSimpleFillStyle.esriSFSSolid Dim leaderlineSimpleLineSymbol As ESRI.ArcGIS.Display.ISimpleLineSymbol=New ESRI.ArcGIS.Display.SimpleLineSymbolClass leaderlineSimpleLineSymbol.Color=leaderLineRgbColor leaderlineSimpleLineSymbol.Width=2 Dim accentbarSimpleLineSymbol As ESRI.ArcGIS.Display.ISimpleLineSymbol=New ESRI.ArcGIS.Display.SimpleLineSymbolClass accentbarSimpleLineSymbol.Color=accentbarRgbColor ' Create the Callout Dim lineCallout As ESRI.ArcGIS.Display.ILineCallout=New ESRI.ArcGIS.Display.LineCalloutClass With lineCallout .Style=ESRI.ArcGIS.Display.esriLineCalloutStyle.esriLCSFourPoint .Border=simpleFillSymbol .AccentBar=accentbarSimpleLineSymbol .LeaderLine=leaderlineSimpleLineSymbol End With Return lineCallout End Function