|
阅读:986回复:0
Label和UnLabel图层(VB.Net源码)
<br><font style="background-color: rgb(204, 232, 207);" face="Verdana"><font style="background-color: rgb(204, 232, 207);" face="Verdana"><strong style="color: rgb(0, 0, 0);"> 实现的是类似arcmap里的Label和UnLabel功能</strong><br>
<br> ''' <summary><br> ''' 用Label方式添加标注<br> ''' </summary><br> ''' <param name="pFeatureLayer">需要Label的FeatureClass</param><br> ''' <param name="pFieldName">用于Label的字段名</param><br> ''' <remarks></remarks></font><br> Public Sub LabelFeature(ByVal pFeatureLayer As IFeatureLayer, ByVal pFieldName As String)<br> Dim pLabels As IGeoFeatureLayer = New FeatureLayer<br> pLabels = pFeatureLayer<br> Dim pAnnoProps As IAnnotateLayerProperties = New LabelEngineLayerProperties<br> Dim pLblEngLyrProps As ILabelEngineLayerProperties = New LabelEngineLayerProperties<br> pLabels.AnnotationProperties.QueryItem(0, pAnnoProps, Nothing, Nothing)<br> pLblEngLyrProps = pAnnoProps<br> pLblEngLyrProps.IsExpressionSimple = True<br> pLblEngLyrProps.Expression = pFieldName<br> pLabels.DisplayAnnotation = True<br> ''刷新语句<br> pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, Nothing, Nothing)<br> End Sub<br> <br> ''' <summary><br> ''' 不显示Label<br> ''' </summary><br> ''' <param name="pFeaturelayer">操作的图层</param><br> ''' <remarks></remarks><br> Public Sub UnLabelFeature(ByVal pFeatureLayer As IFeatureLayer)<br> Dim pLabels As IGeoFeatureLayer = New FeatureLayer<br> pLabels = pFeatureLayer<br> pLabels.DisplayAnnotation = False<br> ''刷新语句<br> pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, Nothing, Nothing)<br> End Sub</font><br> |
|
|