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; } إرجاع صحيح إذا كان نوع الشكل يسمح للشكل بأن يكون له صورة.
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; } إرجاع صحيح إذا كانت هذه العقدة بها أي عقد فرعية.
Height { 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; } يشير إلى أن الشكل عبارة عن خط توقيع.
IsTopLevel { get; } إرجاع صحيح إذا لم يكن هذا الشكل فرعاً لشكل مجموعة .
IsWordArt { get; } إرجاع صحيح إذا كان هذا الشكل عبارة عن كائن WordArt.
LastChild { get; } الحصول على آخر تابع للعقدة .
Left { get; set; } الحصول على أو تحديد موضع الحافة اليسرى للكتلة التي تحتوي على الشكل.
MarkupLanguage { get; } Gets MarkupLanguage المستخدمة لهذا الكائن الرسومي.
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;
}

أنظر أيضا