NestedShapeCollection.AddGroup() Method
Adds a nested group to an existing shape group or a drawing canvas.
Namespace: DevExpress.XtraRichEdit.API.Native
Assembly: DevExpress.RichEdit.v24.1.Core.dll
NuGet Packages: DevExpress.RichEdit.Core, DevExpress.Win.Navigation
Declaration
Returns
Type | Description |
---|---|
NestedShape | The nested group. |
Remarks
Add a Shape Group to a Drawing Canvas
Call the ShapeCollection.InsertCanvas method to add a drawing canvas to a document. Use the Shape.CanvasItems property to access the collection of canvas items. The collection’s Add methods allow you to add shapes and shape groups to the canvas.
The example below creates a drawing canvas that contains two shape groups.
Document document = wordProcessor.Document;
// Set the measurement unit to inches.
document.Unit = DevExpress.Office.DocumentUnit.Inch;
// Insert a drawing canvas.
Shape canvas = document.Shapes.InsertCanvas(document.Range.Start, new RectangleF(1f, 1f, 6.2f, 1f));
// Access the collection of canvas items.
var canvasItems = canvas.CanvasItems;
// Add the first shape group to the canvas.
var group1 = canvasItems.AddGroup();
// Add shapes to the group.
var arrow1 = group1.GroupItems.AddShape(ShapeGeometryPreset.NotchedRightArrow, new RectangleF(0f, 0f, 1.7f, 1f));
arrow1.Fill.SetSolidFill(Color.FromArgb(0xA4, 0xFF, 0xFF));
arrow1.Line.Color = Color.DarkGray;
arrow1.Line.Thickness = 1;
var arrow2 = group1.GroupItems.AddShape(ShapeGeometryPreset.NotchedRightArrow, new RectangleF(1.5f, 0f, 1.7f, 1f));
arrow2.Fill.SetSolidFill(Color.FromArgb(0xA1, 0xF9, 0xA1));
arrow2.Line.Color = Color.DarkGray;
arrow2.Line.Thickness = 1;
// Add the second shape group to the canvas.
var group2 = canvasItems.AddGroup();
// Add shapes to the group.
var arrow3 = group2.GroupItems.AddShape(ShapeGeometryPreset.NotchedRightArrow, new RectangleF(3f, 0f, 1.7f, 1f));
arrow3.Fill.SetSolidFill(Color.FromArgb(0xFF, 0xA5, 0xA5));
arrow3.Line.Color = Color.DarkGray;
arrow3.Line.Thickness = 1;
var arrow4 = group2.GroupItems.AddShape(ShapeGeometryPreset.NotchedRightArrow, new RectangleF(4.5f, 0f, 1.7f, 1f));
arrow4.Fill.SetSolidFill(Color.FromArgb(0xFF, 0xC9, 0xA5));
arrow4.Line.Color = Color.DarkGray;
arrow4.Line.Thickness = 1;
Add a Nested Group to an Existing Shape Group
Call the ShapeCollection.InsertGroup method to create a shape group. The Shape.GroupItems property returns the collection of group items. Use the collection’s Add methods to add shapes and nested groups to the newly created group.
The example below creates a shape group with two nested groups.
Document document = wordProcessor.Document;
// Set the measurement unit to inches.
document.Unit = DevExpress.Office.DocumentUnit.Inch;
// Insert a shape group.
Shape group = document.Shapes.InsertGroup(document.Range.Start);
// Specify the group position relative to the left and top edges of the page.
group.Offset = new PointF(1f, 1f);
// Access the collection of group items.
var groupItems = group.GroupItems;
// Add the first nested group to the shape group.
var group1 = groupItems.AddGroup();
// Add shapes to the nested group.
var arrow1 = group1.GroupItems.AddShape(ShapeGeometryPreset.NotchedRightArrow, new RectangleF(0f, 0f, 1.7f, 1f));
arrow1.Fill.SetSolidFill(Color.FromArgb(0xA4, 0xFF, 0xFF));
arrow1.Line.Color = Color.DarkGray;
arrow1.Line.Thickness = 1;
var arrow2 = group1.GroupItems.AddShape(ShapeGeometryPreset.NotchedRightArrow, new RectangleF(1.5f, 0f, 1.7f, 1f));
arrow2.Fill.SetSolidFill(Color.FromArgb(0xA1, 0xF9, 0xA1));
arrow2.Line.Color = Color.DarkGray;
arrow2.Line.Thickness = 1;
// Add the second nested group to the shape group.
var group2 = groupItems.AddGroup();
// Add shapes to the nested group.
var arrow3 = group2.GroupItems.AddShape(ShapeGeometryPreset.NotchedRightArrow, new RectangleF(3f, 0f, 1.7f, 1f));
arrow3.Fill.SetSolidFill(Color.FromArgb(0xFF, 0xA5, 0xA5));
arrow3.Line.Color = Color.DarkGray;
arrow3.Line.Thickness = 1;
var arrow4 = group2.GroupItems.AddShape(ShapeGeometryPreset.NotchedRightArrow, new RectangleF(4.5f, 0f, 1.7f, 1f));
arrow4.Fill.SetSolidFill(Color.FromArgb(0xFF, 0xC9, 0xA5));
arrow4.Line.Color = Color.DarkGray;
arrow4.Line.Thickness = 1;