Пост написан на основе статьи Джимом Саном (Jim Sun) , первоначально опубликованной здесь.
В предыдущей статье были представлены новые темы, варианты и стили нового Visio.
Благодаря этому пользователи могут не только легко и быстро создавать профессиональные диаграммы, но и имеют полный программный доступ к нужным функциям. В этой статье мы рассмотрим, как использовать новые методы API-интерфейса для усовершенствования внешнего вида любой диаграммы.
Дополнительные сведения о других новых API-интерфейсах см. в нашей статье «Новые API-интерфейсы в новом Visio». Полный список всех новых API можно найти в статье «Что нового для разработчиков в Visio 2013» на MSDN.
Работа с темами
Новый Visio поддерживает новые темы, варианты и стили тремя новыми способами: Page.SetTheme, Page.SetThemeVariant и Shape.SetQuickStyle. Эти методы позволяют разработчику задать тему для текущей страницы, применить вариант темы и настроить фигуру с использованием стиля.
Page.SetTheme (varThemeIndex, varColorScheme, varEffectScheme, varConnectorScheme, varFontScheme)
Настраивает указанные компоненты темы на данной странице. Аргумент varThemeIndex — это основной аргумент, применяющий одну из встроенных тем к заданной странице. Четыре другие дополнительных аргумента позволяют выполнить дальнейшую настройку элементов с использованием альтернативных определений цвета и стиля из других встроенных тем. Выбирая разные индексы для этих четырех дополнительных аргументов, можно создать уникальную комбинацию свойств, которые невозможно найти во встроенном списке. Все пять аргументов предложены в виде индексов, представляющих набор встроенных тем. Индексы всех пяти аргументов начинаются с 17 для «Visio тема 1» и завершаются 32 для «Visio тема 16». Обратите внимание, что эти значения индексов действуют только в предварительном построении и, вероятно, изменятся в окончательной версии выпуске.
Аргументы
Page.SetThemeVariant(variantColor, variantStyle, embellishment)
Задает указанные индексы компонентов варианта и параметры надстрочных знаков для данной страницы. Вариант состоит из двух компонентов: цвет и стиль. Если одни и те же индексы используются для обоих компонентов, вариант доступен в коллекции «Варианты» на вкладке ленты «Конструктор». Если использовать разные индексы для каждого компонента, можно создать уникальный вариант, не встречающийся в пользовательском интерфейсе. Настройка надстрочных знаков соответствует настройкам всплывающего меню коллекции «Варианты». Возможны следующие варианты настроек: «низкая», «средняя» и «высокая». Индексы компонентов вариант начинаются от 0 («Вариант 1») и завершаются 3 («Вариант 4»). Индекс настройки надстрочных знаков начинается от 1 («низкая») и завершается 3 («высокая»).
Shape.SetQuickStyle(lineMatrix, fillMatrix, effectsMatrix, fontMatrix, lineColor, fillColor, shadowColor, fontColor)
Настраивает указанный стиль фигуры для заданной фигуры. Стили фигур регулируются восемью индексами, определяющими цвета и форматирование строк, заполнений, эффектов и текста. Все стили фигур из коллекции «Стили фигур» на вкладке ленты «Главная» можно настроить с использованием этого метода. Кроме того, этот метод позволяет управлять каждым индексом независимо и создавать уникальные комбинации стилей фигур, которые отсутствуют в данной коллекции.
Можно настроить стили фигур из раздела «Стили вариантов» или «Стили тем» коллекции «Стили фигур» на вкладке ленты «Главная».
Настройка стилей фигур из раздела «Стили вариантов»
Индексы стилей и цветов упорядочены слева направо, начиная со 100 для первого выбранного значения слева и завершаясь 103 для самого первого выбранного значения справа. Ниже представлены индексы для раздела «Стили вариантов», где индексы стилей представлены текстом синего цвета, а индексы цветов — текстом красного цвета.
Настройка стилей фигур из раздела «Стили тем»
Индексы стилей соответствуют строкам в разделе «Стили тем» коллекции «Стили фигур». Индексы стилей начинаются с 1 (самая верхняя строка) и заканчиваются 6 (самая нижняя строка). Индексы цвета соответствуют столбцам. Индексы цвета начинаются со 100 (самый левый столбец) и заканчиваются 106 (самый правый столбец). Ниже представлены индексы для раздела «Стили тем», где индексы стилей представлены текстом синего цвета, а индексы цветов — текстом красного цвета:
Опробуем!
Допустим, нам нужно отформатировать следующую диаграмму.
Воспользовавшись описанными выше методами, можно применить к этой диаграмме темы, варианты и стили фигур. Для каждого шага приводится фрагмент кода C# и снимок экрана, на котором показано, как этот код изменил диаграмму.
Примечание. Во фрагментах кода ниже страницей является активная страница для рисования.
Для начала применим тему к диаграмме, воспользовавшись методом SetTheme.
// Применить тему 16 Visio к странице диаграммы
page.SetTheme(32)
Получим следующий результат.
Во-вторых, применим третий вариант этой темы к диаграмме, воспользовавшись методом SetThemeVariant.
// Применить третий вариант к странице диаграммы
page.SetThemeVariant(2, 2);
Наконец, применим стиль фигуры к фигуре «Готовый продукт», чтобы выделить его относительно остальных частей диаграммы. Был выбран нижний правый стиль фигуры из раздела «Стили темы» в коллекции «Стили фигур», что в данной комбинации темы и варианта представляет собой ярко-оранжевый стиль фигуры со сплошной заливкой.
// Получить фигуру «Готовый продукт»
Visio.Shape finishedProductShape = page.Shapes.get_ItemU("Custom 3");
// Применить самый правый стиль фигуры на нижней строке
finishedProductShape.SetQuickStyle(
// Укажите индексы линии, заливки, эффекта и форматирования шрифта
6, 6, 6, 6,
// Указать индексы линии, заливки, тени и цветов шрифта. Также можно использовать целочисленные значения.
106, 106, 106, 106);
Обобщение
Новая функция темы, варианты и стили позволяет конечным пользователям и разработчикам быстро и легко форматировать диаграммы, которые выглядят профессионально и современно. Нам важны отзывы разработчиков о представленных функциях API-интерфейса.
Обсудить Visio также можно на форуме ответов Visio и форуме Visio MSDN.