Групповая форма
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();
}