Работа со стилями
Для начала напомним, что такое стиль, набор стилей, библиотека стилей.
Стиль - это элемент, который имеет имя и свойства, определяющие оформление - цвет, шрифт, рамка. Стиль задает оформление объекта отчета. Объекты типа TfrxMemoView имеют свойство Style: String, которое задает имя стиля. При присвоении значения этому свойству оформление стиля копируется в объект.
Набор стилей - это несколько стилей, относящихся к одному отчету. Компонент TfrxReport имеет свойство Styles, которое ссылается на внутренний объект типа TfrxStyles. Набор стилей также имеет имя. Набор стилей задает оформление целого отчета.
Библиотека стилей - это несколько наборов стилей. С помощью библиотеки стилей удобно осуществлять выбор конкретного набора для оформления отчета.
Класс TfrxStyleItem представляет собой стиль.
TfrxStyleItem = class(TCollectionItem)
public
// Имя стиля.
property Name: String;
// Цвет фона.
property Color: TColor;
// Шрифт.
property Font: TFont;
// Рамка.
property Frame: TfrxFrame;
end;
Набор стилей представлен классом TfrxStyles. Он содержит методы для считывания/сохранения набора, добавления, удаления, а также поиска стиля. Файл набора стилей имеет по умолчанию расширение FS3.
TfrxStyles = class(TCollection)
public
// Создает набор стилей. Вместо AReport можно указать nil, но в этом случае методом Apply нельзя будет пользоваться.
constructor Create(AReport: TfrxReport);
// Добавляет новый стиль.
function Add: TfrxStyleItem;
// Возвращает стиль с указанным именем.
function Find(const Name: String): TfrxStyleItem;
// Применяет набор к отчету.
procedure Apply;
// Возвращает список имен стилей.
procedure GetList(List: TStrings);
// Считывает набор.
procedure LoadFromFile(const FileName: String);
procedure LoadFromStream(Stream: TStream);
// Сохраняет набор.
procedure SaveToFile(const FileName: String);
procedure SaveToStream(Stream: TStream);
// Список стилей.
property Items[Index: Integer]: TfrxStyleItem; default;
// Имя набора.
property Name: String;
end;
Наконец, последний класс TfrxStyleSheet представляет собой библиотеку стилей. Он имеет методы для считывания/сохранения библиотеки, добавления и удаления, а также поиска набора стилей.
TfrxStyleSheet = class(TObject)
public
// Создает библиотеку.
constructor Create;
// Очищает библиотеку.
procedure Clear;
// Удаляет набор с заданным номером.
procedure Delete(Index: Integer);
// Возвращает список имен наборов стилей.
procedure GetList(List: TStrings);
// Загружает библиотеку.
procedure LoadFromFile(const FileName: String);
procedure LoadFromStream(Stream: TStream);
// Сохраняет библиотеку.
procedure SaveToFile(const FileName: String);
procedure SaveToStream(Stream: TStream);
// Добавляет новый набор стилей в библиотеку.
function Add: TfrxStyles;
// Возвращает количество наборов стилей в библиотеке.
function Count: Integer;
// Возвращает набор с заданным именем.
function Find(const Name: String): TfrxStyles;
// Возвращает номер набора с заданным именем.
function IndexOf(const Name: String): Integer;
// Список наборов стилей.
property Items[Index: Integer]: TfrxStyles; default;
end;