GroupShape

GroupShape class

Representa un grupo de formas en un documento.

Para obtener más información, visite elCómo agregar una forma de grupo a un documento de Word artículo de documentación.

public class GroupShape : ShapeBase

Constructores

NombreDescripción
GroupShape(DocumentBase)Crea una nueva forma de grupo.

Propiedades

NombreDescripción
AllowOverlap { get; set; }Obtiene o establece un valor que especifica si esta forma puede superponerse a otras formas.
AlternativeText { get; set; }Define texto alternativo que se mostrará en lugar de un gráfico.
AnchorLocked { get; set; }Especifica si el ancla de la forma está bloqueada.
AspectRatioLocked { get; set; }Especifica si la relación de aspecto de la forma está bloqueada.
BehindText { get; set; }Especifica si la forma está debajo o encima del texto.
Bottom { get; }Obtiene la posición del borde inferior del bloque contenedor de la forma.
Bounds { get; set; }Obtiene o establece la ubicación y el tamaño del bloque contenedor de la forma.
BoundsInPoints { get; }Obtiene la ubicación y el tamaño del bloque contenedor de la forma en puntos, en relación con el ancla de la forma superior.
BoundsWithEffects { get; }Obtiene la extensión final que tiene este objeto de forma después de aplicar efectos de dibujo. El valor se mide en puntos.
CanHaveImage { get; }Devolucionesverdadero si el tipo de forma permite que la forma tenga una imagen.
CoordOrigin { get; set; }Las coordenadas en la esquina superior izquierda del bloque que contiene esta forma.
CoordSize { get; set; }El ancho y alto del espacio de coordenadas dentro del bloque contenedor de esta forma.
Count { get; }Obtiene el número de hijos inmediatos de este nodo.
CustomNodeId { get; set; }Especifica el identificador de nodo personalizado.
DistanceBottom { get; set; }Devuelve o establece la distancia (en puntos) entre el texto del documento y el borde inferior de la forma.
DistanceLeft { get; set; }Devuelve o establece la distancia (en puntos) entre el texto del documento y el borde izquierdo de la forma.
DistanceRight { get; set; }Devuelve o establece la distancia (en puntos) entre el texto del documento y el borde derecho de la forma.
DistanceTop { get; set; }Devuelve o establece la distancia (en puntos) entre el texto del documento y el borde superior de la forma.
virtual Document { get; }Obtiene el documento al que pertenece este nodo.
Fill { get; }Obtiene el formato de relleno para la forma.
FirstChild { get; }Obtiene el primer hijo del nodo.
FlipOrientation { get; set; }Cambia la orientación de una forma.
Font { get; }Proporciona acceso al formato de fuente de este objeto.
HasChildNodes { get; }Devolucionesverdadero si este nodo tiene nodos secundarios.
Height { get; set; }Obtiene o establece la altura del bloque contenedor de la forma.
HeightRelative { get; set; }Obtiene o establece el valor que representa el porcentaje de la altura relativa de la forma.
HorizontalAlignment { get; set; }Especifica cómo se coloca la forma horizontalmente.
HRef { get; set; }Obtiene o establece la dirección completa del hipervínculo para una forma.
override IsComposite { get; }Devolucionesverdadero ya que este nodo puede tener nodos secundarios.
IsDecorative { get; set; }Obtiene o establece la bandera que especifica si la forma es decorativa en el documento.
IsDeleteRevision { get; }Devuelve verdadero si este objeto se eliminó en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
IsGroup { get; }Devolucionesverdadero si se trata de una forma de grupo.
IsHorizontalRule { get; }Devolucionesverdadero si esta forma es una regla horizontal.
IsImage { get; }Devolucionesverdadero si esta forma es una forma de imagen.
IsInline { get; }Una forma rápida de determinar si esta forma está colocada en línea con el texto.
IsInsertRevision { get; }Devuelve verdadero si este objeto se insertó en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
IsLayoutInCell { get; set; }Obtiene o establece una bandera que indica si la forma se muestra dentro o fuera de una tabla.
IsMoveFromRevision { get; }Devolucionesverdadero si este objeto se movió (eliminó) en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
IsMoveToRevision { get; }Devolucionesverdadero si este objeto se movió (insertó) en Microsoft Word mientras el seguimiento de cambios estaba habilitado.
IsSignatureLine { get; }Indica que la forma es unaSignatureLine .
IsTopLevel { get; }Devolucionesverdaderosi esta forma no es hija de una forma de grupo.
IsWordArt { get; }Devolucionesverdadero si esta forma es un objeto de WordArt.
LastChild { get; }Obtiene el último hijo del nodo.
Left { get; set; }Obtiene o establece la posición del borde izquierdo del bloque contenedor de la forma.
LeftRelative { get; set; }Obtiene o establece el valor que representa la posición relativa izquierda de la forma en porcentaje.
MarkupLanguage { get; }Obtiene MarkupLanguage utilizado para este objeto gráfico.
Name { get; set; }Obtiene o establece el nombre de la forma opcional.
NextSibling { get; }Obtiene el nodo que sigue inmediatamente a este nodo.
override NodeType { get; }DevolucionesGroupShape .
ParentNode { get; }Obtiene el padre inmediato de este nodo.
ParentParagraph { get; }Devuelve el párrafo padre inmediato.
PreviousSibling { get; }Obtiene el nodo inmediatamente anterior a este nodo.
Range { get; }Devuelve unRange objeto que representa la parte de un documento contenido en este nodo.
RelativeHorizontalPosition { get; set; }Especifica en relación con la posición horizontal de la forma.
RelativeHorizontalSize { get; set; }Obtiene o establece el valor del tamaño relativo de la forma en dirección horizontal.
RelativeVerticalPosition { get; set; }Especifica en relación con la posición vertical de la forma.
RelativeVerticalSize { get; set; }Obtiene o establece el valor del tamaño relativo de la forma en dirección vertical.
Right { get; }Obtiene la posición del borde derecho del bloque contenedor de la forma.
Rotation { get; set; }Define el ángulo (en grados) en el que se gira una forma. El valor positivo corresponde al ángulo de rotación en el sentido de las agujas del reloj.
ScreenTip { get; set; }Define el texto que se muestra cuando el puntero del mouse se mueve sobre la forma.
ShadowFormat { get; }Obtiene el formato de sombra para la forma.
ShapeType { get; }Obtiene el tipo de forma.
SizeInPoints { get; }Obtiene el tamaño de la forma en puntos.
Target { get; set; }Obtiene o establece el marco de destino para el hipervínculo de forma.
Title { get; set; }Obtiene o establece el título (título) del objeto de forma actual.
Top { get; set; }Obtiene o establece la posición del borde superior del bloque contenedor de la forma.
TopRelative { get; set; }Obtiene o establece el valor que representa la posición superior relativa de la forma en porcentaje.
VerticalAlignment { get; set; }Especifica cómo se coloca la forma verticalmente.
Width { get; set; }Obtiene o establece el ancho del bloque contenedor de la forma.
WidthRelative { get; set; }Obtiene o establece el valor que representa el porcentaje del ancho relativo de la forma.
WrapSide { get; set; }Especifica cómo se ajusta el texto alrededor de la forma.
WrapType { get; set; }Define si la forma está en línea o flotante. Para formas flotantes, define el modo de ajuste del texto alrededor de la forma.
ZOrder { get; set; }Determina el orden de visualización de las formas superpuestas.

Métodos

NombreDescripción
override Accept(DocumentVisitor)Acepta un visitante.
AdjustWithEffects(RectangleF)Agrega al rectángulo de origen los valores de la extensión del efecto y devuelve el rectángulo final.
AppendChild(Node)Agrega el nodo especificado al final de la lista de nodos secundarios para este nodo.
Clone(bool)Crea un duplicado del nodo.
CreateNavigator()Crea un navegador que se puede utilizar para atravesar y leer nodos.
FetchInheritedShapeAttr(int)Reservado para uso del sistema. IShapeAttrSource.
FetchShapeAttr(int)Reservado para uso del sistema. IShapeAttrSource.
GetAncestor(NodeType)Obtiene el primer ancestro del especificadoNodeType .
GetAncestor(Type)Obtiene el primer antepasado del tipo de objeto especificado.
GetChild(NodeType, int, bool)Devuelve un enésimo nodo secundario que coincide con el tipo especificado.
GetChildNodes(NodeType, bool)Devuelve una colección activa de nodos secundarios que coinciden con el tipo especificado.
GetDirectShapeAttr(int)Reservado para uso del sistema. IShapeAttrSource.
GetEnumerator()Proporciona soporte para cada iteración de estilo sobre los nodos secundarios de este nodo.
GetShapeRenderer()Crea y devuelve un objeto que se puede utilizar para representar esta forma en una imagen.
override GetText()Obtiene el texto de este nodo y de todos sus hijos.
IndexOf(Node)Devuelve el índice del nodo secundario especificado en la matriz de nodos secundarios.
InsertAfter(NodeNode)Inserta el nodo especificado inmediatamente después del nodo de referencia especificado.
InsertBefore(NodeNode)Inserta el nodo especificado inmediatamente antes del nodo de referencia especificado.
LocalToParent(PointF)Convierte un valor del espacio de coordenadas local al espacio de coordenadas de la forma principal.
NextPreOrder(Node)Obtiene el siguiente nodo según el algoritmo transversal del árbol de pedidos anticipados.
PrependChild(Node)Agrega el nodo especificado al principio de la lista de nodos secundarios para este nodo.
PreviousPreOrder(Node)Obtiene el nodo anterior según el algoritmo transversal del árbol de pedidos anticipados.
Remove()Se elimina del padre.
RemoveAllChildren()Elimina todos los nodos secundarios del nodo actual.
RemoveChild(Node)Elimina el nodo secundario especificado.
RemoveShapeAttr(int)Reservado para uso del sistema. IShapeAttrSource.
RemoveSmartTags()Elimina todoSmartTagnodos descendientes del nodo actual.
SelectNodes(string)Selecciona una lista de nodos que coinciden con la expresión XPath.
SelectSingleNode(string)Selecciona el primeroNode que coincide con la expresión XPath.
SetShapeAttr(int, object)Reservado para uso del sistema. IShapeAttrSource.
ToString(SaveFormat)Exporta el contenido del nodo a una cadena en el formato especificado.
ToString(SaveOptions)Exporta el contenido del nodo a una cadena usando las opciones de guardado especificadas.

Observaciones

AGroupShape es un nodo compuesto y puede tenerShape y GroupShape nodos cuando eran niños.

CadaGroupShape define un nuevo sistema de coordenadas para sus formas secundarias. El sistema de coordenadas se define utilizando elCoordSize y CoordOrigin propiedades.

Ejemplos

Muestra cómo crear un grupo de formas e imprimir su contenido utilizando un visitante de documentos.

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

    // Si necesita crear formas "no primitivas", como SingleCornerSnipped, TopCornersSnipped, DiagonalCornersSnipped,
    // TopCornersOneRoundedOneSnipped, SingleCornerRounded, TopCornersRounded, DiagonalCornersRounded
    // utilice los métodos DocumentBuilder.InsertShape.
    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>
/// Imprime el contenido de un grupo de formas visitado en la consola.
/// </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;
}

Ver también