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; }يوفر الوصول إلى تنسيق الخط لهذا الكائن.
HasChildNodes { get; }إرجاعحقيقي إذا كانت هذه العقدة تحتوي على أي عقد فرعية.
Height { get; set; }الحصول على أو تعيين ارتفاع الكتلة التي تحتوي على الشكل.
HeightRelative { 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; }يحصل على لغة الترميز المستخدمة لهذا الكائن الرسومي.
Name { get; set; }الحصول على اسم الشكل الاختياري أو تعيينه.
NextSibling { get; }يحصل على العقدة التي تلي هذه العقدة مباشرة.
override NodeType { get; }إرجاعGroupShape .
ParentNode { get; }يحصل على الأصل المباشر لهذه العقدة.
ParentParagraph { get; }إرجاع الفقرة الأصلية المباشرة.
PreviousSibling { get; }يحصل على العقدة التي تسبق هذه العقدة مباشرة.
Range { get; }إرجاع أRange الكائن الذي يمثل جزء المستند الموجود في هذه العقدة.
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; }الحصول على حجم الشكل بالنقاط.
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)يقبل الزائر.
AdjustWithEffects(RectangleF)يضيف إلى قيم المستطيل المصدر لمدى التأثير ويعيد المستطيل النهائي.
AppendChild(Node)إضافة العقدة المحددة إلى نهاية قائمة العقد التابعة لهذه العقدة.
Clone(bool)إنشاء نسخة مكررة من العقدة.
CreateNavigator()إنشاء متصفح يمكن استخدامه لاجتياز العقد وقراءتها.
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(NodeNode)يقوم بإدراج العقدة المحددة مباشرة بعد العقدة المرجعية المحددة.
InsertBefore(NodeNode)يقوم بإدراج العقدة المحددة مباشرة قبل العقدة المرجعية المحددة.
LocalToParent(PointF)تحويل قيمة من المساحة الإحداثية المحلية إلى المساحة الإحداثية للشكل الأصلي.
NextPreOrder(Node)الحصول على العقدة التالية وفقًا لخوارزمية اجتياز شجرة الطلب المسبق.
PrependChild(Node)إضافة العقدة المحددة إلى بداية قائمة العقد التابعة لهذه العقدة.
PreviousPreOrder(Node)الحصول على العقدة السابقة وفقًا لخوارزمية اجتياز شجرة الطلب المسبق.
Remove()يزيل نفسه من الأصل.
RemoveAllChildren()إزالة جميع العقد الفرعية للعقدة الحالية.
RemoveChild(Node)إزالة العقدة الفرعية المحددة.
RemoveShapeAttr(int)محجوز لاستخدام النظام. IShapeAttrSource.
RemoveSmartTags()يزيل الكلSmartTagالعقد التابعة للعقدة الحالية.
SelectNodes(string)تحديد قائمة العقد المطابقة لتعبير XPath.
SelectSingleNode(string)تحديد الأولNode الذي يطابق تعبير 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);

    // إذا كنت بحاجة إلى إنشاء أشكال "NonPrimitive"، مثل SingleCornerSnipped، وTopCornersSnipped، وDiagonalCornerSnipped،
    // 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;
}

أنظر أيضا