GroupShape

GroupShape class

Stellt eine Gruppe von Formen in einem Dokument dar.

public class GroupShape : ShapeBase

Konstrukteure

Name Beschreibung
GroupShape(DocumentBase) Erstellt eine neue Gruppenform.

Eigenschaften

Name Beschreibung
AllowOverlap { get; set; } Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob diese Form andere Formen überlappen kann.
AlternativeText { get; set; } Definiert alternativen Text, der anstelle einer Grafik angezeigt werden soll.
AnchorLocked { get; set; } Gibt an, ob der Anker der Form gesperrt ist.
AspectRatioLocked { get; set; } Gibt an, ob das Seitenverhältnis der Form gesperrt ist.
BehindText { get; set; } Gibt an, ob sich die Form unter oder über Text befindet.
Bottom { get; } Ruft die Position der Unterkante des umgebenden Blocks der Form ab.
Bounds { get; set; } Ruft die Position und Größe des umgebenden Blocks der Form ab oder legt sie fest.
BoundsInPoints { get; } Ruft die Position und Größe des umgebenden Blocks der Form in Punkt relativ zum Anker der obersten Form ab.
BoundsWithEffects { get; } Ruft die endgültige Ausdehnung ab, die dieses Formobjekt nach dem Anwenden von Zeichnungseffekten hat. Der Wert wird in Punkten gemessen.
CanHaveImage { get; } Gibt „true“ zurück, wenn der Formtyp zulässt, dass die Form ein Bild hat.
ChildNodes { get; } Ruft alle unmittelbar untergeordneten Knoten dieses Knotens ab.
CoordOrigin { get; set; } Die Koordinaten in der linken oberen Ecke des umgebenden Blocks dieser Form.
CoordSize { get; set; } Die Breite und Höhe des Koordinatenraums innerhalb des umgebenden Blocks dieser Form.
Count { get; } Ruft die Anzahl der unmittelbaren Kinder dieses Knotens ab.
CustomNodeId { get; set; } Gibt die benutzerdefinierte Knotenkennung an.
DistanceBottom { get; set; } Gibt den Abstand (in Punkt) zwischen dem Dokumenttext und der Unterkante der Form zurück oder legt ihn fest.
DistanceLeft { get; set; } Gibt den Abstand (in Punkt) zwischen dem Dokumenttext und der linken Kante der Form zurück oder legt ihn fest.
DistanceRight { get; set; } Gibt den Abstand (in Punkt) zwischen dem Dokumenttext und der rechten Kante der Form zurück oder legt ihn fest.
DistanceTop { get; set; } Gibt den Abstand (in Punkt) zwischen dem Dokumenttext und der Oberkante der Form zurück oder legt ihn fest.
virtual Document { get; } Ruft das Dokument ab, zu dem dieser Knoten gehört.
Fill { get; } Ruft die Füllformatierung für die Form ab.
FirstChild { get; } Ruft das erste untergeordnete Element des Knotens ab.
FlipOrientation { get; set; } Ändert die Ausrichtung einer Form.
Font { get; } Bietet Zugriff auf die Schriftformatierung dieses Objekts.
HasChildNodes { get; } Gibt wahr zurück, wenn dieser Knoten untergeordnete Knoten hat.
Height { get; set; } Ruft die Höhe des umgebenden Blocks der Form ab oder legt sie fest.
HorizontalAlignment { get; set; } Gibt an, wie die Form horizontal positioniert wird.
HRef { get; set; } Ruft die vollständige Hyperlink-Adresse für eine Form ab oder legt sie fest.
override IsComposite { get; } Gibt wahr zurück, da dieser Knoten untergeordnete Knoten haben kann.
IsDecorative { get; set; } Ruft das Flag ab oder setzt es, das angibt, ob die Form im Dokument dekorativ ist.
IsDeleteRevision { get; } Gibt „true“ zurück, wenn dieses Objekt in Microsoft Word gelöscht wurde, während die Änderungsnachverfolgung aktiviert war.
IsGroup { get; } Gibt „true“ zurück, wenn es sich um eine Gruppenform handelt.
IsHorizontalRule { get; } Gibt wahr zurück, wenn diese Form eine horizontale Linie ist.
IsImage { get; } Gibt wahr zurück, wenn diese Form eine Bildform ist.
IsInline { get; } Eine schnelle Möglichkeit festzustellen, ob diese Form inline mit Text positioniert ist.
IsInsertRevision { get; } Gibt „true“ zurück, wenn dieses Objekt in Microsoft Word eingefügt wurde, während die Änderungsverfolgung aktiviert war.
IsLayoutInCell { get; set; } Ruft ein Flag ab oder setzt es, das angibt, ob die Form innerhalb oder außerhalb einer Tabelle angezeigt wird.
IsMoveFromRevision { get; } gibt zurück Stimmt wenn dieses Objekt in Microsoft Word verschoben (gelöscht) wurde, während die Änderungsnachverfolgung aktiviert war.
IsMoveToRevision { get; } gibt zurück Stimmt wenn dieses Objekt in Microsoft Word verschoben (eingefügt) wurde, während die Änderungsnachverfolgung aktiviert war.
IsSignatureLine { get; } Gibt an, dass die Form eine SignatureLine ist.
IsTopLevel { get; } Gibt wahr zurück, wenn diese Form kein untergeordnetes Element einer Gruppenform ist.
IsWordArt { get; } Gibt wahr zurück, wenn diese Form ein WordArt-Objekt ist.
LastChild { get; } Ruft das letzte untergeordnete Element des Knotens ab.
Left { get; set; } Ruft die Position der linken Kante des umgebenden Blocks der Form ab oder legt sie fest.
MarkupLanguage { get; } Ruft die für dieses Grafikobjekt verwendete MarkupLanguage ab.
Name { get; set; } Ruft den optionalen Formnamen ab oder legt ihn fest.
NextSibling { get; } Ruft den Knoten ab, der diesem Knoten unmittelbar folgt.
override NodeType { get; } gibt zurückGroupShape .
ParentNode { get; } Ruft den unmittelbar übergeordneten Knoten dieses Knotens ab.
ParentParagraph { get; } Gibt den unmittelbar übergeordneten Absatz zurück.
PreviousSibling { get; } Ruft den Knoten unmittelbar vor diesem Knoten ab.
Range { get; } Gibt a zurück Bereich Objekt, das den Teil eines Dokuments darstellt, das in diesem Knoten enthalten ist.
RelativeHorizontalPosition { get; set; } Gibt an, in welchem Verhältnis die Form horizontal positioniert ist.
RelativeVerticalPosition { get; set; } Gibt an, in welchem Verhältnis die Form vertikal positioniert ist.
Right { get; } Ruft die Position der rechten Kante des umgebenden Blocks der Form ab.
Rotation { get; set; } Definiert den Winkel (in Grad), um den eine Form gedreht wird. Ein positiver Wert entspricht einem Drehwinkel im Uhrzeigersinn.
ScreenTip { get; set; } Definiert den Text, der angezeigt wird, wenn der Mauszeiger über die Form bewegt wird.
ShadowFormat { get; } Ruft die Schattenformatierung für die Form ab.
ShapeType { get; } Ruft den Formtyp ab.
SizeInPoints { get; } Ruft die Größe der Form in Punkten ab.
Target { get; set; } Ruft den Zielrahmen für den Form-Hyperlink ab oder legt ihn fest.
Title { get; set; } Ruft den Titel (Beschriftung) des aktuellen Formobjekts ab oder legt ihn fest.
Top { get; set; } Ruft die Position der Oberkante des umgebenden Blocks der Form ab oder legt sie fest.
VerticalAlignment { get; set; } Gibt an, wie die Form vertikal positioniert wird.
Width { get; set; } Ruft die Breite des umschließenden Blocks der Form ab oder legt sie fest.
WrapSide { get; set; } Gibt an, wie der Text um die Form gewickelt wird.
WrapType { get; set; } Definiert, ob die Form eingebettet oder schwebend ist. Für schwebende Formen definiert den Umbruchmodus für Text um die Form.
ZOrder { get; set; } Bestimmt die Anzeigereihenfolge überlappender Formen.

Methoden

Name Beschreibung
override Accept(DocumentVisitor) Akzeptiert einen Besucher.
AdjustWithEffects(RectangleF) Addiert die Quellrechteckwerte der Effektausdehnung und gibt das endgültige Rechteck zurück.
AppendChild(Node) Fügt den angegebenen Knoten am Ende der Liste der untergeordneten Knoten für diesen Knoten hinzu.
Clone(bool) Erstellt ein Duplikat des Knotens.
CreateNavigator() Reserviert für Systemnutzung. IXPfadNavigierbar.
FetchInheritedShapeAttr(int) Reserviert für Systemnutzung. IShapeAttrSource.
FetchShapeAttr(int) Reserviert für Systemnutzung. IShapeAttrSource.
GetAncestor(NodeType) Ruft den ersten Vorfahren der angegebenen abNodeType .
GetAncestor(Type) Ruft den ersten Vorfahren des angegebenen Objekttyps ab.
GetChild(NodeType, int, bool) Gibt einen N-ten untergeordneten Knoten zurück, der dem angegebenen Typ entspricht.
GetChildNodes(NodeType, bool) Gibt eine Live-Sammlung von untergeordneten Knoten zurück, die dem angegebenen Typ entsprechen.
GetDirectShapeAttr(int) Reserviert für Systemnutzung. IShapeAttrSource.
GetEnumerator() Bietet Unterstützung für die Iteration für jeden Stil über die untergeordneten Knoten dieses Knotens.
GetShapeRenderer() Erstellt ein Objekt und gibt es zurück, das verwendet werden kann, um diese Form in ein Bild zu rendern.
override GetText() Ruft den Text dieses Knotens und aller seiner Kinder ab.
IndexOf(Node) Gibt den Index des angegebenen untergeordneten Knotens im untergeordneten Knotenarray zurück.
InsertAfter(Node, Node) Fügt den angegebenen Knoten unmittelbar nach dem angegebenen Referenzknoten ein.
InsertBefore(Node, Node) Fügt den angegebenen Knoten unmittelbar vor dem angegebenen Referenzknoten ein.
LocalToParent(PointF) Konvertiert einen Wert aus dem lokalen Koordinatenraum in den Koordinatenraum der übergeordneten Form.
NextPreOrder(Node) Ruft den nächsten Knoten gemäß dem Traversalalgorithmus des Vorbestellungsbaums ab.
PrependChild(Node) Fügt den angegebenen Knoten am Anfang der Liste der untergeordneten Knoten für diesen Knoten hinzu.
PreviousPreOrder(Node) Ruft den vorherigen Knoten gemäß dem Traversalalgorithmus des Vorbestellungsbaums ab.
Remove() Entfernt sich selbst vom übergeordneten Element.
RemoveAllChildren() Entfernt alle untergeordneten Knoten des aktuellen Knotens.
RemoveChild(Node) Entfernt den angegebenen untergeordneten Knoten.
RemoveShapeAttr(int) Reserviert für Systemnutzung. IShapeAttrSource.
RemoveSmartTags() Entfernt alleSmartTag Nachkommenknoten des aktuellen Knotens.
SelectNodes(string) Wählt eine Liste von Knoten aus, die mit dem XPath-Ausdruck übereinstimmen.
SelectSingleNode(string) Wählt den ersten Knoten aus, der mit dem XPath-Ausdruck übereinstimmt.
SetShapeAttr(int, object) Reserviert für Systemnutzung. IShapeAttrSource.
ToString(SaveFormat) Exportiert den Inhalt des Knotens in einen String im angegebenen Format.
ToString(SaveOptions) Exportiert den Inhalt des Knotens unter Verwendung der angegebenen Speicheroptionen in einen String.

Bemerkungen

EINGroupShape ist ein zusammengesetzter Knoten und kann habenShape and GroupShape Knoten als Kinder.

JederGroupShape definiert ein neues Koordinatensystem für seine untergeordneten Shapes. Das Koordinatensystem wird mithilfe von definiertCoordSize und CoordOrigin Eigenschaften.

Beispiele

Zeigt, wie Sie eine Gruppe von Formen erstellen und ihren Inhalt mit einem Dokumentbesucher drucken.

public void GroupOfShapes()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    // Wenn Sie "NonPrimitive"-Formen erstellen müssen, z. B. SingleCornerSnipped, TopCornersSnipped, DiagonalCornersSnipped,
    // TopCornersOneRoundedOneSnipped, SingleCornerRounded, TopCornersRounded, DiagonalCornersRounded
    // Bitte verwenden Sie DocumentBuilder.InsertShape-Methoden.
    Shape balloon = new Shape(doc, ShapeType.Balloon)
    {
        Width = 200, 
        Height = 200,
        Stroke = { Color = Color.Red }
    };

    Shape cube = new Shape(doc, ShapeType.Cube)
    {
        Width = 100, 
        Height = 100,
        Stroke = { Color = Color.Blue }
    };

    GroupShape group = new GroupShape(doc);
    group.AppendChild(balloon);
    group.AppendChild(cube);

    Assert.True(group.IsGroup);

    builder.InsertNode(group);

    ShapeGroupPrinter printer = new ShapeGroupPrinter();
    group.Accept(printer);

    Console.WriteLine(printer.GetText());
}

/// <summary>
/// Gibt den Inhalt einer besuchten Shape-Gruppe an die Konsole aus.
/// </summary>
public class ShapeGroupPrinter : DocumentVisitor
{
    public ShapeGroupPrinter()
    {
        mBuilder = new StringBuilder();
    }

    public string GetText()
    {
        return mBuilder.ToString();
    }

    public override VisitorAction VisitGroupShapeStart(GroupShape groupShape)
    {
        mBuilder.AppendLine("Shape group started:");
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitGroupShapeEnd(GroupShape groupShape)
    {
        mBuilder.AppendLine("End of shape group");
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitShapeStart(Shape shape)
    {
        mBuilder.AppendLine("\tShape - " + shape.ShapeType + ":");
        mBuilder.AppendLine("\t\tWidth: " + shape.Width);
        mBuilder.AppendLine("\t\tHeight: " + shape.Height);
        mBuilder.AppendLine("\t\tStroke color: " + shape.Stroke.Color);
        mBuilder.AppendLine("\t\tFill color: " + shape.Fill.ForeColor);
        return VisitorAction.Continue;
    }

    public override VisitorAction VisitShapeEnd(Shape shape)
    {
        mBuilder.AppendLine("\tEnd of shape");
        return VisitorAction.Continue;
    }

    private readonly StringBuilder mBuilder;
}

Siehe auch