[csharp title=”C#”]
// コールアウト設定
IRgbColor pRgbColor = new RgbColorClass() { Red = 0, Green = 0, Blue = 0 };
ILineCallout pLineCallOout = CreateLineCallout(pRgbColor, pRgbColor, pRgbColor);
pLineCallOout.Style = esriLineCalloutStyle.esriLCSUnderline; // アンダーライン
pLineCallOout.AccentBar = null; // アクセントなし
/pLineCallOout.Border = null; // 枠線なし
pLineCallOout.LeaderLine.Width = 1; // 引出し線の幅
pSymbolCollectionElement.Background = (ITextBackground)pLineCallOout; // 引き出しシンボルをセット
IPoint pAnchorPoint = new PointClass();
pAnchorPoint.PutCoords((e.mapX – 0.01), (e.mapY – 0.01));
pSymbolCollectionElement.AnchorPoint = pAnchorPoint; // アンカー ポイント設定
public ESRI.ArcGIS.Display.ILineCallout CreateLineCallout(ESRI.ArcGIS.Display.IRgbColor backgroundRgbColor, ESRI.ArcGIS.Display.IRgbColor leaderLineRgbColor, ESRI.ArcGIS.Display.IRgbColor accentRgbColor)
{
if (((backgroundRgbColor == null)
|| ((leaderLineRgbColor == null)
|| (accentRgbColor == 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 = accentRgbColor;
ESRI.ArcGIS.Display.ILineCallout lineCallout = new ESRI.ArcGIS.Display.LineCalloutClass();
accentbarSimpleLineSymbol.Color = accentRgbColor;
lineCallout.Style = ESRI.ArcGIS.Display.esriLineCalloutStyle.esriLCSFourPoint;
lineCallout.Border = simpleFillSymbol;
lineCallout.AccentBar = accentbarSimpleLineSymbol;
lineCallout.LeaderLine = leaderlineSimpleLineSymbol;
return lineCallout;
}
[/csharp]
記事