Group Shape
Contents
[
Hide
]
Examples for creating groups of shapes, accessing them, ungrouping, and removal using Aspose.Slides for C++.
Add a Group Shape
Create a group containing two basic shapes.
static void AddGroupShape()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto group = slide->get_Shapes()->AddGroupShape();
group->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 0, 0, 50, 50);
group->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 60, 0, 50, 50);
presentation->Dispose();
}
Access a Group Shape
Retrieve the first group shape from a slide.
static void AccessGroupShape()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto group = slide->get_Shapes()->AddGroupShape();
group->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 0, 0, 50, 50);
auto firstGroup = SharedPtr<IGroupShape>();
for (auto&& shape : slide->get_Shapes())
{
if (ObjectExt::Is<IGroupShape>(shape))
{
firstGroup = ExplicitCast<IGroupShape>(shape);
break;
}
}
presentation->Dispose();
}
Remove a Group Shape
Delete a group shape from the slide.
static void RemoveGroupShape()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto group = slide->get_Shapes()->AddGroupShape();
slide->get_Shapes()->Remove(group);
presentation->Dispose();
}
Ungroup Shapes
Move shapes out of a group container.
static void UngroupShapes()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto group = slide->get_Shapes()->AddGroupShape();
auto rect = group->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 0, 0, 50, 50);
// Move shape out of the group.
slide->get_Shapes()->AddClone(rect);
group->get_Shapes()->Remove(rect);
presentation->Dispose();
}