Под стилем (Style) в FastReport VCL понимается набор визуальных параметров компонента, а именно: шрифт, заливка, и рамка. Прямо в дизайнере отчетов вы можете создать стиль, который будет содержать только информацию о шрифте, либо только о рамке или заливке с рамкой. Вы можете одновременно использовать все эти параметры или чередовать в зависимости от ваших нужд.
Стиль удобен для массового изменения внешнего вида компонентов. Это поможет при настройке нескольких параметров чтобы не выставлять одни и те же свойства вручную много раз. Также с помощью изменения параметров стиля можно быстро изменить внешний вид отчета. Готовую библиотеку стилей можно сохранить в отдельный файл, чтобы использовать для настройки нескольких отчетов.
В FastReport VCL стили могут объединяться в «Страницу стилей (StyleSheet)». В совокупности набор страниц стилей называется «Таблица стилей» (или «Книга стилей»). Каждый стиль существует в каждой странице стилей. И в каждой странице стилей сам стиль может иметь разные параметры. При этом становится возможным быстро изменить настройки внешнего вида отчета, просто сменив текущую страницу стилей. Такое может быть полезно, например, если один и тот же отчет необходимо использовать в нескольких операционных системах с разными шрифтами. Тем самым необходимые стили устанавливаются просто переключением страницы стилей.
Можно считать, что в FastReport VCL в каждом отчете имеется как минимум одна страница стилей с именем «По умолчанию» (Default).
Для управления и работы со стилями и таблицами стилей имеется панель инструментов «Стили».
Управляет режимом использования таблиц стилей, содержит подменю с двумя элементами: «Designer style book» – разрешает использование таблиц стилей в дизайнере отчетов. «Preview Style book» – разрешает использование таблиц стилей в окне предварительного просмотра (изменение текущей таблицы стилей). |
|
Включает режим редактирования стилей непосредственно в отчете. | |
Добавляет новую страницу стилей. | |
Отвечает за выбор активной страницы стилей, а также за изменение имени страницы стиля. | |
Удаляет текущую выбранную страницу стилей. | |
Добавляет новый стиль. | |
Позволяет выбрать стиль для текущего выделенного компонента, изменение имени текущего стиля. | |
Удаление текущего стиля. |
Также для редактирования и управления стилями можно использовать форму, которая доступна из меню «Отчет» -> «Стили».
Кнопки тулбара этой формы имеют те же функции, что и на панели инструментов «Стили». Дополнительно можно сохранить и прочитать с диска таблицу стилей.
Слева на форме расположен список стилей, доступных в отчете. При выборе любого стиля становится возможным редактирование его параметров. На панели ниже расположен образец применения стиля к элементу отчета.
По центру на форме имеется 3 кнопки, с помощью которых можно отредактировать составляющие стиля. Рядом с кнопками расположены 3 чекбокса. В них можно указать содержит ли стиль тот или иной компонент – цвет фона, шрифт или рамку. Причем использование той или иной составляющей стиля одновременно разрешено или запрещено во всех страницах стилей.
Для установки свойств стилей служит специальная форма, доступная из меню «Отчет –> Стили…» (скриншот выше). С помощью этой формы можно добавлять и удалять стили в отчет, переименовывать их, а также устанавливать их свойства. Также можно сохранять и загружать их из файлов стилей.
Задать стиль выбранному компоненту отчета можно с помощью ComboBox на панели стилей, либо с помощью свойства «Style» в инспекторе объектов. Если задать для компонента отчета стиль под названием «Нет стиля» или удалить имя стиля в инспекторе объектов, то внешний вид компонента сохранится. Однако после этих действий данный компонент перестанет зависеть от стиля.
Также можно перевести дизайнер отчетов в режим редактирования стилей с помощью кнопки на панели стилей (Edit Styles Mode).
В этом режиме становятся активными 2 кнопки по бокам ComboBox с именами стилей – можно добавлять и удалять стили с помощью них. При создании стиля с помощью кнопки на панели стилей, то такому стилю присваиваются свойства текущего выделенного компонента. При удалении стиля форматирование компонентов отчета сохраняется. Однако теперь форматирование будет храниться не в стиле, а в самом компоненте.
Каждый пользователь имеет возможность редактировать стили непосредственно в отчете. Если отредактировать визуальные свойства элемента, которому назначен стиль, то фактически будут отредактированы свойства этого стиля. Такое поведение можно увидеть непосредственно в дизайнере. При изменении параметров одного компонента будут меняться все компоненты, имеющие данный стиль.
Для работы с таблицами стилей сначала необходимо их включить. Это делается путем нажатия кнопки «Style Book Mode» и выбора режимов «Design Style Book» или «Preview Style Book». После этого становятся активными кнопки «Add Style Sheet», «Delete style Sheet» и ComboBox с именами таблиц стилей. Вы можете добавлять, удалять и переименовывать таблицы стилей, а также сделать какую-либо из них активной.
При активации таблицы стилей все стили изменяют свое состояние на то, что хранится в текущей таблице стилей.
При создании новой таблицы стилей данные для неё берутся из текущей активной таблицы стилей. При активной опции «Preview Style Book» изменение страниц стилей доступно в предварительном просмотре. Тогда у вас справа на панели инструментов появится ComboBox. В нем можно выбрать требуемую страницу стилей, и она немедленно применится к отчету.
Вернёмся в окно настройки стилей. В этом окне имеются кнопки «сохранить» и «прочитать». При нажатии на них вызываются диалоги чтения и записи файла, позволяющие сохранить и прочитать таблицу стилей в формате *.fs3. Независимо от режима работы со стилями, в файл записываются все таблицы стилей, которые находятся в отчете.
Как правило, конечный пользователь не должен редактировать отчет, у него есть только возможность предварительного просмотра. Поэтому программист должен уметь задавать текущий стиль отчета в коде приложения. Это можно сделать так:
begin
//загружаем отчет
frxReport1.LoadFromFile(DefPath+'main.fr3');
//загружаем стили
frxReport1.Styles.LoadFromFile(DefPath+'main.fs3');
//для управления таблицами стилей frxReport1.Styles.StyleBookMode не должно быть равно []
frxReport1.Styles.StyleBookMode:=[fsbDesigner];
//задаем стиль, который нам нужен
frxReport1.Styles.ActiveStyleSheet:='MyStyleSheet';
//применяем стиль к отчету
frxReport1.Styles.Apply;
frxReport1.ShowReport();
end;
Более подробно работа со стилями описана в руководстве программиста.
Следует с осторожностью применять условное форматирование совместно с таблицами стилей. Если активен режим «Preview Style Book», то при изменении стиля условное форматирование теряется. Без проблем при этом можно менять те элементы форматирования, которые не используются стилем.
Подведём итоги. Работать со стилями и со страницами стилей совсем не сложно. Данный функционал значительно упрощает и ускоряет построение отчетов. Это позволяет вам гораздо быстрее делать группы отчетов с одинаковым стилем оформления.