下面是用AE创建气泡式提示框的方法: 1、VB.Net源码 ''' <summary> ''' 创建文本提示框 ''' </summary> ''' <param name="x">提示框标识的位置X坐标</param> ''' <param name="y">提示框标识的位置Y坐标</param> ''' <param name="pTextString">提示框中显示的文本</param> ''' <param name="pPoint">提示框箭头指向的点</param> ''' <param name="pGraphicsContainer">包含提示框的graphicscontainer</param> ''' <returns></returns> ''' <remarks></remarks> Public Function CreateTextElement(ByVal x As Double,ByVal y As Double,ByVal pTextString As String,Optional ByVal pPoint As IPoint = Nothing,Optional ByVal pGraphicsContainer As IGraphicsContainer = Nothing) As IElement Dim pElement As IElement = New MarkerElementClass() Dim pTElement As IElement = New TextElementClass() Dim pTextSymbol As IFormattedTextSymbol = New TextSymbolClass() Dim pBalloonCallout As IBalloonCallout = CreateBalloonCallout(x,y) Dim pColor As IRgbColor = New RgbColorClass() pColor.Red = 150 pColor.Green = 0 pColor.Blue = 0 pTextSymbol.Color = pColor Dim pTextBackground As ITextBackground pTextBackground = pBalloonCallout pTextSymbol.Background = pTextBackground pTextSymbol.Size = 8 CType(pTElement,ITextElement).Symbol = pTextSymbol CType(pTElement,ITextElement).Text = pTextString If pPoint Is Nothing Then pPoint = New Point : pPoint.PutCoords(x + Const_Dis,y + Const_Dis) pTElement.Geometry = pPoint pGraphicsContainer.AddElement(pTElement,1) Return pTElement End Function
''' <summary> ''' 创建balloon型提示框 ''' </summary> ''' <param name="x">提示框所在位置X坐标</param> ''' <param name="y">提示框所在位置Y坐标</param> ''' <returns></returns> ''' <remarks></remarks> Public Function CreateBalloonCallout(ByVal x As Double,ByVal y As Double) As IBalloonCallout Dim pRgbClr As IRgbColor = New RgbColorClass() pRgbClr.Red = 255 pRgbClr.Blue = 255 pRgbClr.Green = 255 Dim pSmplFill As ISimpleFillSymbol = New SimpleFillSymbolClass() pSmplFill.Color = pRgbClr pSmplFill.Style = esriSimpleFillStyle.esriSFSSolid Dim pBllnCallout As IBalloonCallout = New BalloonCalloutClass() pBllnCallout.Style = esriBalloonCalloutStyle.esriBCSRoundedRectangle pBllnCallout.Symbol = pSmplFill pBllnCallout.LeaderTolerance = 1 Dim pPoint As IPoint = New ESRI.ArcGIS.Geometry.PointClass() pPoint.X = x pPoint.Y = y pBllnCallout.AnchorPoint = pPoint Return pBllnCallout End Function