Data Frames im Layout

Hallo zusammen,

ich habe in ArcMap bisher noch nicht im Layout-Bereich gearbeitet.
Ich will mehrere Data Frames in einer Karte darstellen. Dabei ist der ständige Bildaufbau beim verschieben einzelner Frames recht nervig. Ich habe zwar heraus gefunden, dass ich statt der Geometrien mit einem Namensplatzhalter arbeiten kann, jedoch ist dann die Ausdehnung der einzelnen Frames auch weg.
Gibt es eine Möglichkeit Data Frames einzeln einzuladen/auszuschalten oder den Live-Link zu unterbrechen?
Bin für jeden Lösungsvorschlag dankbar!

Grüße

Oliver
Hallo Oliver,
> jedoch ist dann die Ausdehnung der einzelnen Frames auch weg.

Was meinst'n damit genau? Klar der Inhalt wird halt nicht mehr angezeigt, der Datenrahmen ist aber schon noch da, nur ggf nicht mehr sichtbar ;-) Vielleicht reicht es Dir schon, wenn Du einfach einen Rahmen drum machst, dann kannst Du dessen Ausdehnung auch sehen.

Ansonsten: Den "Live-Link" kannst Du imo nicht unterbrechen (ist ja dasselbe Object = Dataframe). Würde aber auch nichts bringen, weil ja trotzdem neugezeichnet werden müßte, sobald Du etwas verschiebst.

Das Neuzeichnen selbst kannst Du einfach durch folgende Funktionen verhindern (s.u.). Sobald Du den Rahmen/die Karte aber verschiebst oder die Größe änderst etc., ist auch hier der Inhalt "weg", weil eben nicht neu gezeichnet wird. (Daher: Einen Rahmen brauchts sowieso..).
Der Vorteil der beiden Prozeduren unten liegt demnach eigentlich nur darin, daß Du nicht immer in den Eigenschaften das Häckchen setzen rsp. entfernen mußt.
Mach Dir am besten zwei UI-Controls, eines zum Unterdrücken des Zeichnens, eines zum Zeichnen:

'Unterdrücken
Private Sub UIButtonControl1_Click()
Dim pDoc As IMxDocument
Set pDoc = ThisDocument
Dim pmap As IMap
Set pmap = pDoc.FocusMap
pmap.DelayDrawing (True)
End Sub

'Zeichnen
Private Sub UIButtonControl2_Click()
Dim pDoc As IMxDocument
Set pDoc = ThisDocument
Dim pmap As IMap
Set pmap = pDoc.FocusMap
pmap.DelayDrawing (false)
End Sub

Viele Grüße
Jörg Ostendorp
Was man nicht im Kopf hat...
Kleiner Nachtrag, hast ja meherer Datenrahmen. Also:

Dim pDoc As IMxDocument
Dim pmap As IMap
Dim i As Integer
Set pDoc = ThisDocument
For i = 0 To pDoc.Maps.count - 1
Set pmap = pDoc.Maps.Item(i)
pmap.DelayDrawing (True) 'false
'und beim Neuzeichnen vielleicht noch ein
'pdoc.activeview.refresh
Next i

Gruß Jörg