|
|
|
|

ArcObjects:简单的标注功能

Private Sub Anno(ByVal pGeoFeatlyr As IGeoFeatureLayer, ByVal field As String) Dim pAnnoProps As IAnnotateLayerPropertiesCollection pAnnoProps = pGeoFeatlyr.AnnotationProperties pAnnoProps.Clear() Dim pAnnoL...

作者:峰哥来源:SINA博客|2007年10月23日

Private Sub Anno(ByVal pGeoFeatlyr As IGeoFeatureLayer, ByVal field As String)
        Dim pAnnoProps As IAnnotateLayerPropertiesCollection
        pAnnoProps = pGeoFeatlyr.AnnotationProperties
        pAnnoProps.Clear()

        Dim pAnnoLayerProps As IAnnotateLayerProperties
        Dim pPosition As ILineLabelPosition
        Dim pPlacement As ILineLabelPlacementPriorities
        Dim pBasic As IBasicOverposterLayerProperties
        Dim pLabelEngine As ILabelEngineLayerProperties

        Dim pTextSym As ITextSymbol
        pTextSym = New TextSymbol
        Dim pFont As stdole.StdFont
        pFont = New stdole.StdFont
        pFont.Name = strFontName
        pFont.Size = iFontSize
        pTextSym.Font = pFont
        Dim pSymColor As IRgbColor
        pSymColor = New RgbColor
        pSymColor.Red = pColor.R
        pSymColor.Green = pColor.G
        pSymColor.Blue = pColor.B
        pTextSym.Color = pSymColor

        pPosition = New LineLabelPosition
        pPosition.Parallel = False
        pPosition.Perpendicular = True

        pPlacement = New LineLabelPlacementPriorities
        pBasic = New BasicOverposterLayerProperties
        pBasic.FeatureType = esriBasicOverposterFeatureType.esriOverposterPolyline
        pBasic.LineLabelPlacementPriorities = pPlacement
        pBasic.LineLabelPosition = pPosition

        pLabelEngine = New LabelEngineLayerProperties
        pLabelEngine.Symbol = pTextSym
        pLabelEngine.BasicOverposterLayerProperties = pBasic

        pLabelEngine.Expression = field
        pAnnoLayerProps = pLabelEngine

        pAnnoProps.Add(pAnnoLayerProps)
        pGeoFeatlyr.DisplayAnnotation = True

        frmMain.AxMapCtl.Refresh()
    End Sub

上一篇:把mdb文件读入地图图层

下一篇:ArcObjects:添加图例代码