组形状
Contents
[
Hide
]
使用 Aspose.Slides for C++ 创建形状组、访问、取消分组和删除的示例。
添加组形状
创建一个包含两个基本形状的组。
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();
}
访问组形状
从幻灯片检索第一个组形状。
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();
}
删除组形状
从幻灯片删除组形状。
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();
}
取消分组形状
将形状移出组容器。
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);
// 将形状移出组。
slide->get_Shapes()->AddClone(rect);
group->get_Shapes()->Remove(rect);
presentation->Dispose();
}