Aspose::Words::BorderCollection::idx_get method
Содержание
[
Скрывать
]BorderCollection::idx_get(Aspose::Words::BorderType) method
Получает объект Граница по типу границы.
System::SharedPtr<Aspose::Words::Border> Aspose::Words::BorderCollection::idx_get(Aspose::Words::BorderType borderType)
| Параметр | Тип | Описание |
|---|---|---|
| borderType | Aspose::Words::BorderType | Значение ТипГраницы которое указывает тип границы для получения. |
Примечания
Обратите внимание, что не все границы присутствуют для разных элементов документа. Этот метод бросает исключение, если вы запрашиваете границу, не применимую к текущему объекту.
Примеры
Показывает, как оформить текст границами и затенением.
auto doc = System::MakeObject<Aspose::Words::Document>();
auto builder = System::MakeObject<Aspose::Words::DocumentBuilder>(doc);
System::SharedPtr<Aspose::Words::BorderCollection> borders = builder->get_ParagraphFormat()->get_Borders();
borders->set_DistanceFromText(20);
borders->idx_get(Aspose::Words::BorderType::Left)->set_LineStyle(Aspose::Words::LineStyle::Double);
borders->idx_get(Aspose::Words::BorderType::Right)->set_LineStyle(Aspose::Words::LineStyle::Double);
borders->idx_get(Aspose::Words::BorderType::Top)->set_LineStyle(Aspose::Words::LineStyle::Double);
borders->idx_get(Aspose::Words::BorderType::Bottom)->set_LineStyle(Aspose::Words::LineStyle::Double);
System::SharedPtr<Aspose::Words::Shading> shading = builder->get_ParagraphFormat()->get_Shading();
shading->set_Texture(Aspose::Words::TextureIndex::TextureDiagonalCross);
shading->set_BackgroundPatternColor(System::Drawing::Color::get_LightCoral());
shading->set_ForegroundPatternColor(System::Drawing::Color::get_LightSalmon());
builder->Write(u"This paragraph is formatted with a double border and shading.");
doc->Save(get_ArtifactsDir() + u"DocumentBuilder.ApplyBordersAndShading.docx");
См. также
- Class Border
- Enum BorderType
- Class BorderCollection
- Namespace Aspose::Words
- Library Aspose.Words for C++
BorderCollection::idx_get(int32_t) method
Получает объект Граница по индексу.
System::SharedPtr<Aspose::Words::Border> Aspose::Words::BorderCollection::idx_get(int32_t index)
| Параметр | Тип | Описание |
|---|---|---|
| index | int32_t | Нулевой индекс границы для получения. |
Примеры
Показывает, как коллекции границ могут делить элементы.
auto doc = System::MakeObject<Aspose::Words::Document>();
auto builder = System::MakeObject<Aspose::Words::DocumentBuilder>(doc);
builder->Writeln(u"Paragraph 1.");
builder->Write(u"Paragraph 2.");
// Поскольку мы использовали одинаковую конфигурацию границы при создании
// этих абзацев, их коллекции границ делят одни и те же элементы.
System::SharedPtr<Aspose::Words::BorderCollection> firstParagraphBorders = doc->get_FirstSection()->get_Body()->get_FirstParagraph()->get_ParagraphFormat()->get_Borders();
System::SharedPtr<Aspose::Words::BorderCollection> secondParagraphBorders = builder->get_CurrentParagraph()->get_ParagraphFormat()->get_Borders();
for (int32_t i = 0; i < firstParagraphBorders->get_Count(); i++)
{
ASSERT_TRUE(System::ObjectExt::Equals(firstParagraphBorders->idx_get(i), secondParagraphBorders->idx_get(i)));
ASSERT_EQ(System::ObjectExt::GetHashCode(firstParagraphBorders->idx_get(i)), System::ObjectExt::GetHashCode(secondParagraphBorders->idx_get(i)));
ASSERT_FALSE(firstParagraphBorders->idx_get(i)->get_IsVisible());
}
for (auto&& border : System::IterateOver(secondParagraphBorders))
{
border->set_LineStyle(Aspose::Words::LineStyle::DotDash);
}
// После изменения стиля линии границ только во втором абзаце,
// коллекции границ больше не делят одни и те же элементы.
for (int32_t i = 0; i < firstParagraphBorders->get_Count(); i++)
{
ASSERT_FALSE(System::ObjectExt::Equals(firstParagraphBorders->idx_get(i), secondParagraphBorders->idx_get(i)));
ASSERT_NE(System::ObjectExt::GetHashCode(firstParagraphBorders->idx_get(i)), System::ObjectExt::GetHashCode(secondParagraphBorders->idx_get(i)));
// Изменение внешнего вида пустой границы делает её видимой.
ASSERT_TRUE(secondParagraphBorders->idx_get(i)->get_IsVisible());
}
doc->Save(get_ArtifactsDir() + u"Border.SharedElements.docx");
См. также
- Class Border
- Class BorderCollection
- Namespace Aspose::Words
- Library Aspose.Words for C++