GroupShape

GroupShape class

Представляет группу фигур в документе.

Чтобы узнать больше, посетитеКак добавить групповую фигуру в документ Word документальная статья.

public class GroupShape : ShapeBase

Конструкторы

ИмяОписание
GroupShape(DocumentBase)Создает новую групповую фигуру.

Характеристики

ИмяОписание
AllowOverlap { get; set; }Возвращает или задает значение, указывающее, может ли эта фигура перекрывать другие фигуры.
AlternativeText { get; set; }Определяет альтернативный текст, отображаемый вместо графики.
AnchorLocked { get; set; }Указывает, заблокирована ли привязка фигуры.
AspectRatioLocked { get; set; }Указывает, заблокировано ли соотношение сторон фигуры.
BehindText { get; set; }Указывает, находится ли фигура под или над текстом.
Bottom { get; }Получает положение нижнего края содержащего блока фигуры.
Bounds { get; set; }Возвращает или задает местоположение и размер содержащего блока фигуры.
BoundsInPoints { get; }Получает местоположение и размер содержащего блока фигуры в пунктах относительно точки привязки самой верхней фигуры.
BoundsWithEffects { get; }Получает окончательную протяженность объекта-фигуры после применения эффектов рисования. Значение измеряется в точках.
CanHaveImage { get; }Возвратистинный если тип фигуры позволяет фигуре иметь изображение.
CoordOrigin { get; set; }Координаты в верхнем левом углу содержащего блока этой формы.
CoordSize { get; set; }Ширина и высота координатного пространства внутри содержащего блока этой формы.
Count { get; }Получает количество непосредственных потомков этого узла.
CustomNodeId { get; set; }Указывает пользовательский идентификатор узла.
DistanceBottom { get; set; }Возвращает или задает расстояние (в пунктах) между текстом документа и нижним краем фигуры.
DistanceLeft { get; set; }Возвращает или задает расстояние (в пунктах) между текстом документа и левым краем фигуры.
DistanceRight { get; set; }Возвращает или задает расстояние (в пунктах) между текстом документа и правым краем фигуры.
DistanceTop { get; set; }Возвращает или задает расстояние (в пунктах) между текстом документа и верхним краем фигуры.
virtual Document { get; }Получает документ, к которому принадлежит этот узел.
Fill { get; }Получает форматирование заливки для фигуры.
FirstChild { get; }Получает первый дочерний элемент узла.
FlipOrientation { get; set; }Изменяет ориентацию фигуры.
Font { get; }Предоставляет доступ к форматированию шрифта этого объекта.
Glow { get; }Получает форматирование свечения для фигуры.
HasChildNodes { get; }Возвратистинный если у этого узла есть дочерние узлы.
Height { get; set; }Возвращает или задает высоту содержащего блока фигуры.
HeightRelative { get; set; }Возвращает или задает значение, представляющее процент относительной высоты фигуры.
Hidden { get; set; }Возвращает или задает логическое значение, указывающее, видна ли фигура.
HorizontalAlignment { get; set; }Указывает, как фигура располагается по горизонтали.
HRef { get; set; }Получает или задает полный адрес гиперссылки для фигуры.
override IsComposite { get; }Возвратистинный так как этот узел может иметь дочерние узлы.
IsDecorative { get; set; }Возвращает или задает флаг, указывающий, является ли фигура декоративной в документе.
IsDeleteRevision { get; }Возвращает значение true, если этот объект был удален в Microsoft Word при включенном отслеживании изменений.
IsGroup { get; }Возвратистинный если это групповая форма.
IsHorizontalRule { get; }Возвратистинный если эта фигура является горизонтальной линейкой.
IsImage { get; }Возвратистинный если эта форма является формой изображения.
IsInline { get; }Быстрый способ определить, расположена ли эта фигура в одной строке с текстом.
IsInsertRevision { get; }Возвращает значение true, если этот объект был вставлен в Microsoft Word при включенном отслеживании изменений.
IsLayoutInCell { get; set; }Возвращает или задает флаг, указывающий, отображается ли фигура внутри таблицы или вне ее.
IsMoveFromRevision { get; }Возвратистинный если этот объект был перемещен (удален) в Microsoft Word при включенном отслеживании изменений.
IsMoveToRevision { get; }Возвратистинный если этот объект был перемещен (вставлен) в Microsoft Word при включенном отслеживании изменений.
IsSignatureLine { get; }Указывает, что форма являетсяSignatureLine .
IsTopLevel { get; }Возвратистинный если эта фигура не является дочерней по отношению к группе фигур.
IsWordArt { get; }Возвратистинный если эта фигура является объектом WordArt.
LastChild { get; }Получает последний дочерний элемент узла.
Left { get; set; }Возвращает или задает положение левого края содержащего блока фигуры.
LeftRelative { get; set; }Возвращает или задает значение, представляющее относительное левое положение фигуры в процентах.
MarkupLanguage { get; }Получает MarkupLanguage, используемый для этого графического объекта.
Name { get; set; }Получает или задает необязательное имя фигуры.
NextSibling { get; }Получает узел, следующий сразу за данным узлом.
override NodeType { get; }ВозвратGroupShape .
ParentNode { get; }Получает непосредственного родителя этого узла.
ParentParagraph { get; }Возвращает непосредственный родительский абзац.
PreviousSibling { get; }Получает узел, непосредственно предшествующий данному узлу.
Range { get; }ВозвращаетRangeобъект, представляющий часть документа, содержащуюся в этом узле.
Reflection { get; }Получает форматирование отражения для фигуры.
RelativeHorizontalPosition { get; set; }Указывает, относительно чего фигура расположена горизонтально.
RelativeHorizontalSize { get; set; }Возвращает или задает значение относительного размера фигуры в горизонтальном направлении.
RelativeVerticalPosition { get; set; }Указывает, относительно чего фигура расположена по вертикали.
RelativeVerticalSize { get; set; }Возвращает или задает значение относительного размера фигуры в вертикальном направлении.
Right { get; }Получает положение правого края содержащего блока фигуры.
Rotation { get; set; }Определяет угол (в градусах), на который поворачивается фигура. Положительное значение соответствует углу поворота по часовой стрелке.
ScreenTip { get; set; }Определяет текст, отображаемый при перемещении указателя мыши по фигуре.
ShadowFormat { get; }Получает форматирование тени для фигуры.
ShapeType { get; }Получает тип фигуры.
SizeInPoints { get; }Получает размер фигуры в точках.
SoftEdge { get; }Получает мягкое форматирование краев для фигуры.
Target { get; set; }Получает или задает целевой фрейм для гиперссылки формы.
Title { get; set; }Возвращает или задает заголовок (подпись) текущего объекта фигуры.
Top { get; set; }Возвращает или задает положение верхнего края содержащего блока фигуры.
TopRelative { get; set; }Возвращает или задает значение, представляющее относительное верхнее положение фигуры в процентах.
VerticalAlignment { get; set; }Указывает, как фигура располагается по вертикали.
Width { get; set; }Возвращает или задает ширину содержащего блока фигуры.
WidthRelative { get; set; }Возвращает или задает значение, представляющее процент относительной ширины фигуры.
WrapSide { get; set; }Указывает, как текст обтекает фигуру.
WrapType { get; set; }Определяет, является ли фигура встроенной или плавающей. Для плавающих фигур определяет режим обтекания текста вокруг фигуры.
ZOrder { get; set; }Определяет порядок отображения перекрывающихся фигур.

Методы

ИмяОписание
override Accept(DocumentVisitor)Принимает посетителя.
override AcceptEnd(DocumentVisitor)Принимает посетителя для посещения конца GroupShape.
override AcceptStart(DocumentVisitor)Принимает посетителя для посещения начала GroupShape.
AdjustWithEffects(RectangleF)Добавляет к исходному прямоугольнику значения степени эффекта и возвращает конечный прямоугольник.
AppendChild<T>(T)Добавляет указанный узел в конец списка дочерних узлов для данного узла.
Clone(bool)Создает дубликат узла.
CreateNavigator()Создает навигатор, который можно использовать для перемещения и чтения узлов.
GetAncestor(NodeType)Получает первого предка указанногоNodeType .
GetAncestor(Type)Получает первого предка указанного типа объекта.
GetChild(NodeType, int, bool)Возвращает N-й дочерний узел, соответствующий указанному типу.
GetChildNodes(NodeType, bool)Возвращает живую коллекцию дочерних узлов, соответствующих указанному типу.
GetEnumerator()Обеспечивает поддержку для каждой итерации стиля по дочерним узлам этого узла.
GetShapeRenderer()Создает и возвращает объект, который можно использовать для преобразования этой фигуры в изображение.
override GetText()Получает текст этого узла и всех его дочерних узлов.
IndexOf(Node)Возвращает индекс указанного дочернего узла в массиве дочерних узлов.
InsertAfter<T>(T, Node)Вставляет указанный узел сразу после указанного ссылочного узла.
InsertBefore<T>(T, Node)Вставляет указанный узел непосредственно перед указанным ссылочным узлом.
LocalToParent(PointF)Преобразует значение из локального координатного пространства в координатное пространство родительской фигуры.
NextPreOrder(Node)Получает следующий узел в соответствии с алгоритмом обхода дерева предварительного порядка.
PrependChild<T>(T)Добавляет указанный узел в начало списка дочерних узлов для данного узла.
PreviousPreOrder(Node)Получает предыдущий узел в соответствии с алгоритмом обхода дерева предварительного порядка.
Remove()Удаляет себя из родителя.
RemoveAllChildren()Удаляет все дочерние узлы текущего узла.
RemoveChild<T>(T)Удаляет указанный дочерний узел.
RemoveSmartTags()Удаляет всеSmartTag узлы-потомки текущего узла.
SelectNodes(string)Выбирает список узлов, соответствующих выражению XPath.
SelectSingleNode(string)Выбирает первыйNode что соответствует выражению XPath.
ToString(SaveFormat)Экспортирует содержимое узла в строку указанного формата.
ToString(SaveOptions)Экспортирует содержимое узла в строку, используя указанные параметры сохранения.

Примечания

АGroupShape является составным узлом и может иметьShape и GroupShape узлы как дочерние.

КаждыйGroupShapeопределяет новую систему координат для своих дочерних фигур. Система координат определяется с помощьюCoordSize и CoordOrigin характеристики.

Примеры

Показывает, как создать группу фигур и распечатать ее содержимое с помощью посетителя документа.

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

    // Если вам нужно создать «непримитивные» фигуры, такие как SingleCornerSnipped, TopCornersSnipped, DiagonalCornersSnipped,
    // ВерхниеУглыОдинЗакругленныйОдинОбрезанный, ОдинЗакругленныйУгол, ВерхниеУглыЗакругленные, ДиагональныеУглыЗакругленные
    // пожалуйста, используйте методы 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>
/// Выводит содержимое посещенной группы фигур на консоль.
/// </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;
}

Смотрите также