Shape.SpatialRelation-Eigenschaft (Visio)
Gibt eine ganze Zahl zurück, die die räumliche Beziehung eines Shapes zu einem anderen Shape darstellt. Dabei müssen beide Shapes sich auf dem gleichen Zeichenblatt oder in dem gleichen Master-Shape befinden. Schreibgeschützt.
Syntax
Ausdruck. SpatialRelation (OtherShape, Tolerance, Flags)
expression Eine Variable, die ein Shape-Objekt darstellt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
OtherShape | Erforderlich | [IVSHAPE] | Das andere Shape-Objekt, auf das sich der Vergleich bezieht. |
Toleranz | Erforderlich | Double | Ein Abstand, der in einer internen Zeichnungseinheit angegeben wird und in Bezug zu der Koordinatenstelle steht, die von dem übergeordneten Shape des Shape-Objekts definiert wird. |
Flags | Erforderlich | Integer | Das Flag, das sich auf das Ergebnis auswirkt. Beachten Sie die Hinweise zu den Werten dieses Arguments. |
Rückgabewert
Ganze Zahl
Hinweise
Die zurückgegebene ganze Zahl kann eine beliebige Kombination der werte sein, die in VisSpatialRelationCodes in der Visio-Typbibliothek definiert sind. Die SpatialRelation-Eigenschaft gibt null (0) zurück, wenn sich die beiden zu vergleichenden Formen in keiner der Beziehungen befinden, die in der Tabelle des Themas VisSpatialRelationCodes erläutert werden.
Das Argument Flags kann eine beliebige Kombination der Konstanten sein, die in der folgenden Tabelle definiert werden. Diese Konstanten werden in VisSpatialRelationFlags in der Visio-Typbibliothek deklariert. Verwenden Sie die Zelle NoShow, um zu bestimmen, ob der Abschnitt Geometry verborgen oder sichtbar ist. Für verborgene Abschnitte enthält die Zelle NoShow den Wert True und für sichtbare Abschnitte enthält diese Zelle den Wert False.
Konstante | Wert | Beschreibung |
---|---|---|
visSpatialIncludeContainerShapes | &H80 | Container einbeziehen. Standardmäßig sind Container nicht enthalten. |
visSpatialIncludeDataGraphics | &H40 | Enthält Beschriftungs-Shapes (einschließlich untergeordneter Shapes) für Datengrafiken. Standardmäßig werden Beschriftungs-Shapes für Datengrafiken und ihre untergeordneten Shapes nicht berücksichtigt. Wenn das übergeordnete Shape eine Datengrafikbeschriftung ist und dieses Kennzeichen nicht festgelegt ist, werden Suchläufe zwischen der Geometrie des übergeordneten Shapes und Shapes, die keine Beschriftungs-Shapes sind, durchgeführt. |
visSpatialIncludeGuides | &H2 | Berücksichtigt den Abschnitt Geometry einer Führungslinie. Standardmäßig beeinflussen Führungslinien das Ergebnis nicht. |
visSpatialIncludeHidden | &H10 | Reserviert für zukünftige Verwendung. Nicht verwenden. |
visSpatialIgnoreVisible | &H20 | Berücksichtigt die Abschnitte Geometry nicht, wenn sie sichtbar sind. Standardmäßig wirken sich diese sichtbaren Abschnitte auf das Ergebnis aus. |
Hinweis
Bei dem Vergleich zweier Shapes berücksichtigt die SpatialRelation-Eigenschaft nicht die Breite der folgenden Elemente eines Shapes: Linien, Schatten, Linienenden, Steuerpunkte oder Verbindungspunkte.
Beispiel
Dieses Beispiel für Microsoft Visual Basic for Applications (VBA) zeigt, wie die SpatialRelation-Eigenschaft in einem Ereignishandler für das ShapeAdded-Ereignis verwendet wird, um die räumliche Beziehung zwischen Shapes zu bestimmen.
Stellen Sie vor dem Hinzufügen des folgenden Codes zu Ihrem VBA-Projekt sicher, dass mindestens eine Form auf dem Zeichenblatt vorhanden ist. Fügen Sie anschließend den Code und dann ein weiteres Shape zu dieser Zeichnung hinzu.
Public Sub Document_ShapeAdded(ByVal Shape As IVShape)
Dim vsoShapeOnPage As Visio.Shape
Dim intTolerance As Integer
Dim intReturnValue As VisSpatialRelationCodes
Dim intFlag As VisSpatialRelationFlags
Dim strReturn As String
On Error GoTo errHandler
'Initialize tolerance argument.
intTolerance = 0.25
'Initialize flags argument.
intFlag = visSpatialIncludeHidden
For Each vsoShapeOnPage In ActivePage.Shapes
'Get the spatial relationship.
intReturnValue = Shape.SpatialRelation(vsoShapeOnPage, _
intTolerance, intFlag)
'Convert return code to string value.
Select Case intReturnValue
Case VisSpatialRelationCodes.visSpatialContain
strReturn = "Contains"
Case VisSpatialRelationCodes.visSpatialContainedIn
strReturn = "is Contained in"
Case VisSpatialRelationCodes.visSpatialOverlap
strReturn = "overlaps"
Case VisSpatialRelationCodes.visSpatialTouching
strReturn = "is touching"
Case Else
strReturn = "has no relation with"
End Select
'Display relationship in the shape's text.
vsoShapeOnPage.Text = Shape.Name & " " & strReturn & " " & _
vsoShapeOnPage.Name
Next
errHandler:
End Sub
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.