Класс Aspose::Words::Lists::ListFormat

ListFormat class

Позволяет контролировать, какое форматирование списка применяется к абзацу. Чтобы узнать больше, посетите статью документации Working with Lists.

class ListFormat : public System::Object

Методы

МетодОписание
ApplyBulletDefault()Создаёт новый стандартный маркированный список и применяет его к абзацу.
ApplyNumberDefault()Начинает новый список с нумерацией по умолчанию и применяет его к абзацу.
get_IsListItem()Истина, когда к абзацу применено маркированное или нумерованное форматирование.
get_List()Получает или задает список, членом которого является данный абзац.
get_ListLevel()Возвращает форматирование уровня списка плюс любые переопределения форматирования, применённые к текущему абзацу.
get_ListLevelNumber()Получает или задает номер уровня списка (от 0 до 8) для абзаца.
GetType() const override
Is(const System::TypeInfo&) const override
ListIndent()Увеличивает уровень списка текущего абзаца на один уровень.
ListOutdent()Уменьшает уровень списка текущего абзаца на один уровень.
RemoveNumbers()Удаляет номера или маркеры из текущего абзаца и устанавливает уровень списка в ноль.
set_List(const System::SharedPtr<Aspose::Words::Lists::List>&)Сеттер для Aspose::Words::Lists::ListFormat::get_List.
set_ListLevelNumber(int32_t)Сеттер для Aspose::Words::Lists::ListFormat::get_ListLevelNumber.
static Type()

Примечания

Абзац в документе Microsoft Word может быть маркированным или нумерованным. Когда абзац маркирован или нумерован, говорят, что к абзацу применено форматирование списка.

Вы не создаёте объекты класса ListFormat напрямую. Вы получаете доступ к ListFormat как к свойству другого объекта, который может иметь связанное форматирование списка. В данный момент объектами, которые могут иметь форматирование списка, являются: Paragraph, Style и DocumentBuilder.

ListFormat of a Paragraph specifies what list formatting and list level is applied to that particular paragraph.

ListFormat of a Style (applicable to paragraph styles only) allows to specify what list formatting and list level is applied to all paragraphs of that particular style.

ListFormat of a DocumentBuilder provides access to the list formatting at the current cursor position inside the DocumentBuilder.

Само форматирование списка хранится внутри объекта List, который хранится отдельно от абзацев. Объекты списков хранятся внутри коллекции ListCollection. Для каждого Document существует единственная коллекция ListCollection.

Абзацы физически не принадлежат списку. Абзацы лишь ссылаются на конкретный объект списка через свойство List и на конкретный уровень в списке через свойство ListLevelNumber. Устанавливая эти два свойства, вы контролируете, какие маркеры и нумерация применяются к абзацу.

Примеры

Показывает, как работать с уровнями списка.

auto doc = System::MakeObject<Aspose::Words::Document>();
auto builder = System::MakeObject<Aspose::Words::DocumentBuilder>(doc);

ASSERT_FALSE(builder->get_ListFormat()->get_IsListItem());

// Список позволяет организовывать и оформлять наборы абзацев с помощью префиксных символов и отступов.
// Мы можем создавать вложенные списки, увеличивая уровень отступа.
// Мы можем начинать и завершать список, используя свойство "ListFormat" объекта document builder.
// Каждый абзац, который мы добавляем между началом и концом списка, становится элементом списка.
// Ниже представлены два типа списков, которые мы можем создать с помощью document builder.
// 1 -  Нумерованный список:
// Нумерованные списки создают логический порядок для своих абзацев, нумеруя каждый элемент.
builder->get_ListFormat()->set_List(doc->get_Lists()->Add(Aspose::Words::Lists::ListTemplate::NumberDefault));

ASSERT_TRUE(builder->get_ListFormat()->get_IsListItem());

// Установив свойство \"ListLevelNumber\", мы можем увеличить уровень списка
// чтобы начать автономный подсписок в текущем элементе списка.
// Шаблон списка Microsoft Word под названием \"NumberDefault\" использует цифры для создания уровней списка для первого уровня списка.
// Более глубокие уровни списка используют буквы и римские цифры в нижнем регистре.
for (int32_t i = 0; i < 9; i++)
{
    builder->get_ListFormat()->set_ListLevelNumber(i);
    builder->Writeln(System::String(u"Level ") + i);
}

// 2 -  Маркированный список:
// Этот список будет применять отступ и символ маркера (\"•\") перед каждым абзацем.
// Более глубокие уровни этого списка будут использовать разные символы, такие как \"■\" и \"○\".
builder->get_ListFormat()->set_List(doc->get_Lists()->Add(Aspose::Words::Lists::ListTemplate::BulletDefault));

for (int32_t i = 0; i < 9; i++)
{
    builder->get_ListFormat()->set_ListLevelNumber(i);
    builder->Writeln(System::String(u"Level ") + i);
}

// Мы можем отключить форматирование списка, чтобы не форматировать последующие абзацы как списки, сняв флаг \"List\".
builder->get_ListFormat()->set_List(nullptr);

ASSERT_FALSE(builder->get_ListFormat()->get_IsListItem());

doc->Save(get_ArtifactsDir() + u"Lists.SpecifyListLevel.docx");

См. также