20楼#
发布于:2004-06-10 13:29
<P>Public Sub addlabel()
Dim mxdoc As IMxDocument Dim mymap As IMap Dim pGFeatureLayer As IGeoFeatureLayer Dim pa As IActiveView Dim pdis As IScreenDisplay Set mxdoc = Application.Document Set mymap = mxdoc.FocusMap Set pa = mxdoc.FocusMap Set pdis = pa.ScreenDisplay Set pGFeatureLayer = mymap.Layer(1) '标注图层</P><P>Dim pAnnProCol As IAnnotateLayerPropertiesCollection Dim pLabelEngin As ILabelEngineLayerProperties Set pAnnProCol = pGFeatureLayer.AnnotationProperties</P><P>Dim pBasicOverposterLayerProps As IBasicOverposterLayerProperties Set pBasicOverposterLayerProps = New BasicOverposterLayerProperties pBasicOverposterLayerProps.NumLabelsOption = esriBasicNumLabelsOption.esriOneLabelPerShape</P><P>For i = 0 To pAnnProCol.Count - 1 pAnnProCol.QueryItem i, pLabelEngin pLabelEngin.Expression = "[STATE_NAME]" '标注的字段名</P><P> 'Set pLabelEngin.Symbol = pTextSymbol Set pLabelEngin.BasicOverposterLayerProperties = pBasicOverposterLayerProps Next i 'Dim pCon As ITrackCancel 'Set pCon = New CancelTracker 'pCon.Continue 'pGFeatureLayer.Draw esriDrawPhase.esriDPAnnotation, pdis, pCon</P><P> pa.Refresh</P><P>End Sub </P><P>这是VBA的,自己稍微改一下就Ok了</P> |
|
|
上一页
下一页