Search Results for

    Show / Hide Table of Contents

    Работа со стилями

    Для начала напомним, что такое стиль, набор стилей, библиотека стилей.

    Стиль - это элемент, который имеет имя и свойства, определяющие оформление - цвет, шрифт, рамка. Стиль задает оформление объекта отчета. Объекты типа 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;
    
    Back to top © ООО «Быстрые отчеты»