Class GroupShape

GroupShape class

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

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; }Возвращает true, если тип фигуры позволяет фигуре иметь изображение.
ChildNodes { 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; }Предоставляет доступ к форматированию шрифта этого объекта.
HasChildNodes { get; }Возвращает true, если у этого узла есть дочерние узлы.
Height { get; set; }Получает или задает высоту содержащего блока фигуры.
HorizontalAlignment { get; set; }Определяет горизонтальное расположение фигуры.
HRef { get; set; }Получает или задает полный адрес гиперссылки для фигуры.
override IsComposite { get; }Возвращает true, так как этот узел может иметь дочерние узлы.
IsDecorative { get; set; }Получает или задает флаг, указывающий, является ли фигура декоративной в документе.
IsDeleteRevision { get; }Возвращает значение true, если этот объект был удален в Microsoft Word при включенном отслеживании изменений.
IsGroup { get; }Возвращает true, если это форма группы.
IsHorizontalRule { get; }Возвращает true, если эта фигура является горизонтальной линейкой.
IsImage { get; }Возвращает true, если эта форма является фигурой изображения.
IsInline { get; }Быстрый способ определить, расположена ли эта фигура на одной линии с текстом.
IsInsertRevision { get; }Возвращает значение true, если этот объект был вставлен в Microsoft Word при включенном отслеживании изменений.
IsLayoutInCell { get; set; }Получает или задает флаг, указывающий, отображается ли фигура внутри таблицы или за ее пределами.
IsMoveFromRevision { get; }Возвращает истинный если этот объект был перемещен (удален) в Microsoft Word при включенном отслеживании изменений.
IsMoveToRevision { get; }Возвращает истинный если этот объект был перемещен (вставлен) в Microsoft Word при включенном отслеживании изменений.
IsSignatureLine { get; }Указывает, что форма является SignatureLine.
IsTopLevel { get; }Возвращает true, если эта фигура не является дочерней фигурой группы.
IsWordArt { get; }Возвращает значение true, если эта фигура является объектом WordArt.
LastChild { get; }Получает последний дочерний элемент узла.
Left { get; set; }Получает или задает положение левого края содержащего блока фигуры.
MarkupLanguage { get; }Получает язык разметки, используемый для этого графического объекта.
Name { get; set; }Получает или задает необязательное имя формы.
NextSibling { get; }Получает узел, следующий сразу за этим узлом.
override NodeType { get; }ВозвращаетGroupShape .
ParentNode { get; }Получает непосредственного родителя этого узла.
ParentParagraph { get; }Возвращает ближайший родительский абзац.
PreviousSibling { get; }Получает узел, непосредственно предшествующий этому узлу.
Range { get; }Возвращает Диапазон объект, представляющий часть документа, содержащегося в этом узле.
RelativeHorizontalPosition { get; set; }Определяет относительное положение фигуры по горизонтали.
RelativeVerticalPosition { get; set; }Указывает, относительно чего фигура расположена вертикально.
Right { get; }Получает положение правого края содержащего блока фигуры.
Rotation { get; set; }Определяет угол (в градусах), на который поворачивается фигура. Положительное значение соответствует углу поворота по часовой стрелке.
ScreenTip { get; set; }Определяет текст, отображаемый при наведении указателя мыши на фигуру.
ShadowFormat { get; }Получает форматирование тени для фигуры.
ShapeType { get; }Получает тип фигуры.
SizeInPoints { get; }Получает размер фигуры в точках.
Target { get; set; }Получает или задает целевой кадр для гиперссылки формы.
Title { get; set; }Получает или задает заголовок (заголовок) текущего объекта формы.
Top { get; set; }Получает или задает положение верхнего края содержащего блока фигуры.
VerticalAlignment { get; set; }Определяет вертикальное расположение фигуры.
Width { get; set; }Получает или задает ширину содержащего блока фигуры.
WrapSide { get; set; }Указывает, как текст оборачивает фигуру.
WrapType { get; set; }Определяет, является ли фигура встроенной или плавающей. Для плавающих фигур определяет режим обтекания текста вокруг фигуры.
ZOrder { get; set; }Определяет порядок отображения перекрывающихся фигур.

Методы

ИмяОписание
override Accept(DocumentVisitor)Принимает посетителя.
AdjustWithEffects(RectangleF)Добавляет к исходному прямоугольнику значения экстента эффекта и возвращает окончательный прямоугольник.
AppendChild(Node)Добавляет указанный узел в конец списка дочерних узлов для этого узла.
Clone(bool)Создает дубликат узла.
CreateNavigator()Зарезервировано для системного использования. IXPathNavigable.
FetchInheritedShapeAttr(int)Зарезервировано для системного использования. IShapeAttrSource.
FetchShapeAttr(int)Зарезервировано для системного использования. IShapeAttrSource.
GetAncestor(NodeType)Получает первого предка указанногоNodeType .
GetAncestor(Type)Получает первого предка указанного типа объекта.
GetChild(NodeType, int, bool)Возвращает N-й дочерний узел, соответствующий указанному типу.
GetChildNodes(NodeType, bool)Возвращает динамическую коллекцию дочерних узлов, соответствующих указанному типу.
GetDirectShapeAttr(int)Зарезервировано для системного использования. IShapeAttrSource.
GetEnumerator()Обеспечивает поддержку для каждой итерации стиля над дочерними узлами этого узла.
GetShapeRenderer()Создает и возвращает объект, который можно использовать для преобразования этой формы в изображение.
override GetText()Получает текст этого узла и всех его дочерних элементов.
IndexOf(Node)Возвращает индекс указанного дочернего узла в массиве дочерних узлов.
InsertAfter(Node, Node)Вставляет указанный узел сразу после указанного ссылочного узла.
InsertBefore(Node, Node)Вставляет указанный узел непосредственно перед указанным ссылочным узлом.
LocalToParent(PointF)Преобразует значение из локального координатного пространства в координатное пространство родительской фигуры.
NextPreOrder(Node)Получает следующий узел в соответствии с алгоритмом обхода дерева предварительного порядка.
PrependChild(Node)Добавляет указанный узел в начало списка дочерних узлов для этого узла.
PreviousPreOrder(Node)Получает предыдущий узел в соответствии с алгоритмом обхода дерева предварительного порядка.
Remove()Удаляет себя из родителя.
RemoveAllChildren()Удаляет все дочерние узлы текущего узла.
RemoveChild(Node)Удаляет указанный дочерний узел.
RemoveShapeAttr(int)Зарезервировано для системного использования. IShapeAttrSource.
RemoveSmartTags()Удаляет всеSmartTag узлы-потомки текущего узла.
SelectNodes(string)Выбирает список узлов, соответствующих выражению XPath.
SelectSingleNode(string)Выбирает первый узел, соответствующий выражению XPath.
SetShapeAttr(int, object)Зарезервировано для системного использования. IShapeAttrSource.
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,
    // TopCornersOneRoundedOneSnipped, SingleCornerRounded, TopCornersRounded, DiagonalCornersRounded
    // используйте методы 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;
}

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