zhaojie2008
路人甲
路人甲
  • 注册日期2007-06-04
  • 发帖数30
  • QQ
  • 铜币21枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2256回复:2

请教IBallonCallOut接口

楼主#
更多 发布于:2007-08-21 21:53
请问用IBallonCallOut接口做出的标注为什么显示不出来?如果能显示出来,显示出来又是什么样子?
喜欢0 评分0
zhaojie2008
路人甲
路人甲
  • 注册日期2007-06-04
  • 发帖数30
  • QQ
  • 铜币21枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2007-08-21 21:55
代码如下
           IPoint pPoint=new PointClass();<BR>            pPoint.PutCoords(200,200);<BR>            IRgbColor pRgbColor;<BR>            pRgbColor = new RgbColorClass();<BR>            pRgbColor.Red = 255;<BR>            ISimpleFillSymbol pSmplFill = new SimpleFillSymbolClass();<BR>            pSmplFill.Color = pRgbColor as IColor;<BR>            pSmplFill.Style = esriSimpleFillStyle.esriSFSSolid;<BR>            IBalloonCallout pBllnCallout;<BR>            pBllnCallout = new BalloonCalloutClass();<BR>            pBllnCallout.Style = esriBalloonCalloutStyle.esriBCSRectangle;<BR>            pBllnCallout.Symbol = pSmplFill as IFillSymbol;<BR>            pBllnCallout.AnchorPoint = pPoint;<BR>            IActiveView pActiveView = this.axMapControl1.Map as IActiveView;<BR>            pActiveView.Refresh();
举报 回复(0) 喜欢(0)     评分
zhaojie2008
路人甲
路人甲
  • 注册日期2007-06-04
  • 发帖数30
  • QQ
  • 铜币21枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2007-08-21 22:01
<P>这是我在网上找的一个关于添加注记的函数,我照此方法做了,并且创建了标注层,但是还是没有显示出任何结果,请问是怎么回事?创建标注层的时候有什么注意的地方?谢谢,请帮帮忙。<BR><BR><BR><BR>注记层可以通过ArcCatalog去建,但是注意,注记层只能在GeoDataBase中存在。</P>
<P>向上加要素,你可去差一下帮助中的IFDOGraphicsLayer这个接口。我可以给你提供一下程序。</P>
<P><BR>'********************************<BR>'**                            **<BR>'**         添加标注           **<BR>'**                            **<BR>'********************************<BR>Public Sub AddAnnotation(ByVal x As Double, y As Double, pFeatureLayer As IFeatureLayer)<BR>  <BR>  Dim str As String<BR>  Dim pElement As IElement<BR>  Dim pTextElement As ITextElement<BR>  Dim pFillColor As IRgbColor, pLineColor As IRgbColor<BR>  Dim pFillSymbol As IFillSymbol<BR>  Dim pLineSymbol As ILineSymbol<BR>  Dim pBalloonCallout As IBalloonCallout<BR>  Dim pFormattedTextSymbol As IFormattedTextSymbol<BR>  Dim pPoint As IPoint, pTextPoint As IPoint<BR>  Dim pFeatureClass As IFeatureClass<BR>  Dim pFeature As IFeature<BR>  Dim pFDOGraphicsLayer As IFDOGraphicsLayer<BR>  <BR>  str = Trim(InputBox("请输入注记名称:", "添加注记"))<BR>  '判断输入的主机是否为空<BR>  If str = "" Then<BR>    MsgBox "注记不许为空!", vbApplicationModal + vbOKOnly, "警告"<BR>    Exit Sub<BR>  End If<BR>  <BR>  Set pPoint = New Point<BR>  pPoint.PutCoords x, y<BR>  <BR>'******************************************************************************<BR>          '对textSymbol的BackGround进行设置                                  **<BR>                                                                            '**<BR>  Set pFillColor = New RgbColor                                             '**<BR>  With pFillColor                                                           '**<BR>    .Red = 28                                                               '**<BR>    .Green = 233                                                            '**<BR>    .Blue = 78                                                              '**<BR>  End With                                                                  '**<BR>                                                                            '**<BR>  Set pLineColor = New RgbColor                                             '**<BR>  With pLineColor                                                           '**<BR>    .Red = 0                                                                '**<BR>    .Green = 0                                                              '**<BR>    .Blue = 0                                                               '**<BR>  End With                                                                  '**<BR>  Set pLineSymbol = New SimpleLineSymbol                                    '**<BR>  pLineSymbol.Color = pLineColor                                            '**<BR>  pLineSymbol.Width = 1                                                     '**<BR>                                                                            '**<BR>  Set pFillSymbol = New SimpleFillSymbol                                    '**<BR>  pFillSymbol.Color = pFillColor                                            '**<BR>  pFillSymbol.Outline = pLineSymbol                                         '**<BR>                                                                            '**<BR>  Set pBalloonCallout = New BalloonCallout                                    '**<BR>  pBalloonCallout.Style = esriBCSRoundedRectangle                           '**<BR>  pBalloonCallout.AnchorPoint = pPoint                                      '**<BR>  Set pBalloonCallout.Symbol = pFillSymbol                                  '**<BR>                                                                            '**<BR>'******************************************************************************<BR>   <BR>  '对textSymbol的设置<BR>  Set pFormattedTextSymbol = New TextSymbol<BR>  Set pFormattedTextSymbol.Background = pBalloonCallout<BR>  pFormattedTextSymbol.Font.Name = "宋体"<BR>  pFormattedTextSymbol.Size = 10<BR>  pFormattedTextSymbol.HorizontalAlignment = esriTHACenter<BR>  pFormattedTextSymbol.TypeSetting = True<BR>  <BR>  Set pTextElement = New TextElement<BR>  pTextElement.Text = str<BR>  pTextElement.ScaleText = True<BR>  pTextElement.Symbol = pFormattedTextSymbol<BR>  <BR>  Set pTextPoint = New Point<BR>  pTextPoint.PutCoords x + 0.0005, y + 0.0002<BR>  <BR>  Set pElement = pTextElement<BR>  pElement.Geometry = pTextPoint<BR>  <BR>  '进行创建新的要素<BR>  Set pFeatureClass = pFeatureLayer.FeatureClass<BR>  Set pFeature = pFeatureClass.CreateFeature<BR>  <BR>  Set pFDOGraphicsLayer = New FDOGraphicsLayer<BR>  Set pFDOGraphicsLayer = pFeatureLayer</P>
<P>  pFDOGraphicsLayer.BeginAddElements<BR>  pFDOGraphicsLayer.DoAddFeature pFeature, pElement, 0<BR>  pFDOGraphicsLayer.EndAddElements<BR>  <BR>  Frm_main.MapControl1.ActiveView.PartialRefresh esriViewGraphics, Nothing, Nothing<BR>  <BR>  Set pPoint = Nothing<BR>  Set pTextPoint = Nothing<BR>  Set pTextElement = Nothing<BR>  Set pFormattedTextSymbol = Nothing<BR>  Set pFDOGraphicsLayer = Nothing<BR>  Set pFillColor = Nothing<BR>  Set pLineColor = Nothing<BR>  Set pBalloonCallout = Nothing<BR>  Set pLineSymbol = Nothing<BR>  Set pFillSymbol = Nothing<BR>  <BR>End Sub<BR></P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部