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; }يعود صحيحًا إذا تم حذف هذا الكائن في Microsoft Word أثناء تمكين تتبع التغييرات.
IsGroup { get; }إرجاعحقيقي إذا كان هذا شكل المجموعة.
IsHorizontalRule { get; }إرجاعحقيقي إذا كان هذا الشكل عبارة عن مسطرة أفقية.
IsImage { get; }إرجاعحقيقي إذا كان هذا الشكل هو شكل صورة.
IsInline { get; }طريقة سريعة لتحديد ما إذا كان هذا الشكل موضوعًا في خط واحد مع النص.
IsInsertRevision { get; }يعود صحيحًا إذا تم إدراج هذا الكائن في 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;
}

أنظر أيضا