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文件读入地图图层