Liebe Leute,
kann man in AV9 die Beschriftung eines Layer kopieren und einem anderen zuweisen.
Wichtig sind die Darstellungsoptionen (von ... bis ... Maßstab) und
der Bezug zu dem Beschriftungsfeld, der gleich ist (nur halt andere Daten)
bernd
kann man in AV9 die Beschriftung eines Layer kopieren und einem anderen zuweisen.
Wichtig sind die Darstellungsoptionen (von ... bis ... Maßstab) und
der Bezug zu dem Beschriftungsfeld, der gleich ist (nur halt andere Daten)
bernd
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Maxilla am Mo., 13.08.2007 - 18:07
PermalinkEinfacher geht's mit diesem VBA-Code (zusammengestellt von Michael Knight). Er überträgt die Label-Properties des ersten Layers im Inhaltsverzeichnis auf den zweiten. Beschriftungsfeld usw. muss vorhanden sein - aber das ist bei dir ja so):
Sub CopyLabelProperties()
Dim pMxDoc As IMxDocument
Dim pMap As IMap
Dim pFromLayer As IGeoFeatureLayer
Dim pToLayer As IGeoFeatureLayer
Set pMxDoc = Application.Document
Set pMap = pMxDoc.FocusMap
Set pFromLayer = pMap.Layer(0)
Set pToLayer = pMap.Layer(1)
'**** Developer Help Example Code
' first get AnnotateLayerPropertiesCollection from layer
Dim pFromAnnoLayerPropsColl As IAnnotateLayerPropertiesCollection
Set pFromAnnoLayerPropsColl = pFromLayer.AnnotationProperties
' then get the (first) property set in the collection
Dim pFromAnnoLayerProps As IAnnotateLayerProperties
pFromAnnoLayerPropsColl.QueryItem 0, pFromAnnoLayerProps, Nothing, Nothing
' Update LabelEngineLayerProperties
Dim pFromLabelEngineLayerProps As ILabelEngineLayerProperties
Set pFromLabelEngineLayerProps = pFromAnnoLayerProps
Dim pToAnnoLayerPropsColl As IAnnotateLayerPropertiesCollection
Set pToAnnoLayerPropsColl = pToLayer.AnnotationProperties
Dim pToAnnoLayerProps As IAnnotateLayerProperties
pToAnnoLayerPropsColl.Clear
Dim pToLabelEngineLayerProps As ILabelEngineLayerProperties
Set pToLabelEngineLayerProps = pFromLabelEngineLayerProps
pToAnnoLayerPropsColl.Add pToLabelEngineLayerProps
pMxDoc.ActiveView.Refresh
End Sub
Gespeichert von JensM am Di., 14.08.2007 - 08:07
PermalinkGruß
Jens
Gespeichert von BerndSau am Di., 14.08.2007 - 09:57
Permalinkdanke
b
Gespeichert von BerndSau am Di., 14.08.2007 - 10:03
Permalinknur mit VisalBasic bin ich recht unbewandert;
das Script hängt bei
Set pFromLayer = pMap.Layer(0)
und ich weiß nicht warum.
Einstweilen ist mir ohne VB mit dem Tipp von JensM der Datenquellenzuweisung an den vorher kopierten Layer gut gedient.
gruß
b
Gespeichert von Carsten am Mi., 12.12.2007 - 09:52
Permalinkhabe das Script erfolgreich angewandt, könnte man es auch so verändern, dass es nicht nur den nächsten Layer, sondern alle nachfolgenden Layer auf einmal verändert?
Gruß Carsten