Search Results for

    Show / Hide Table of Contents

    FastReport クラスの階層

    TfrxComponent は、すべての FastReport コンポーネントの基本クラスです。この型のオブジェクトは、座標、サイズ、フォント、可視性などのパラメーターと、下位オブジェクトの一覧を持ちます。また、このクラスには、オブジェクトの状態をストリームに保存したり、ストリームから復元したりすることができるメソッドが含まれています。

      TfrxComponent = class(TComponent)
      protected
        procedure SetParent(AParent: TfrxComponent); virtual;
        procedure SetLeft(Value: Extended); virtual;
        procedure SetTop(Value: Extended); virtual;
        procedure SetWidth(Value: Extended); virtual;
        procedure SetHeight(Value: Extended); virtual;
        procedure SetFont(Value: TFont); virtual;
        procedure SetParentFont(Value: Boolean); virtual;
        procedure SetVisible(Value: Boolean); virtual;
        procedure FontChanged(Sender: TObject); virtual;
      public
        constructor Create(AOwner: TComponent); override;
        procedure Assign(Source: TPersistent); override;
        procedure Clear; virtual;
        procedure CreateUniqueName;
        procedure LoadFromStream(Stream: TStream); virtual;
        procedure SaveToStream(Stream: TStream); virtual;
        procedure SetBounds(ALeft, ATop, AWidth, AHeight: Extended);
        function FindObject(const AName: String): TfrxComponent;
        class function GetDescription: String; virtual;
        property Objects: TList readonly;
        property AllObjects: TList readonly;
        property Parent: TfrxComponent;
        property Page: TfrxPage readonly;
        property Report: TfrxReport readonly;
        property IsDesigning: Boolean;
        property IsLoading: Boolean;
        property IsPrinting: Boolean;
        property BaseName: String;
        property Left: Extended;
        property Top: Extended;
        property Width: Extended;
        property Height: Extended;
        property AbsLeft: Extended readonly;
        property AbsTop: Extended readonly;
        property Font: TFont;
        property ParentFont: Boolean;
        property Restrictions: TfrxRestrictions;
        property Visible: Boolean;
      end;
    
    • Clear – オブジェクトの内容を消去し、その子オブジェクトをすべて削除します。

    • CreateUniqueName – レポートに配置されたオブジェクトの一意の名前を作成します。

    • LoadFromStream – ストリームからオブジェクトの内容とその子オブジェクトをすべて読み込みます。

    • SaveToStream – ストリームにオブジェクトを保存します。

    • SetBounds – オブジェクトの座標とサイズを設定します。

    • FindObject – 子オブジェクトの中で、指定された名前を持つオブジェクトを検索します。

    • GetDescription – オブジェクトの説明を返します。

    以下のメソッドは、それに対応するプロパティを変更するときに呼び出されます。追加の処理が必要な場合は、そのメソッドをオーバーライドできます。

    • SetParent

    • SetLeft

    • SetTop

    • SetWidth

    • SetHeight

    • SetFont

    • SetParentFont

    • SetVisible

    • FontChanged

    以下のプロパティが TfrxComponent クラスで定義されています。

    • Objects – 子オブジェクトの一覧。

    • AllObjects – すべての下位オブジェクトの一覧。

    • Parent – 親オブジェクトへのリンク。

    • Page – オブジェクトが属しているレポート ページへのリンク。

    • Report – オブジェクトが属しているレポートへのリンク。

    • IsDesigning – デザイナーが起動している場合は "True"。

    • IsLoading – オブジェクトがストリームから読み込まれている場合は "True"。

    • IsPrinting – オブジェクトが出力されている場合は "True"。

    • BaseName – オブジェクトの基本的な名前。この値は CreateUniqueName メソッドで使用されます。

    • Left – オブジェクトの X 座標(親との相対)。

    • Top – オブジェクトの Y 座標(親との相対)。

    • Width – オブジェクトの幅。

    • Height – オブジェクトの高さ。

    • AbsLeft – オブジェクトの X 絶対座標。

    • AbsTop – オブジェクトの Y 絶対座標。

    • Font – オブジェクトのフォント。

    • ParentFont – "True" の場合は、親オブジェクトのフォント設定を使用します。

    • Restrictions – 何らかのオブジェクトの操作を制限するフラグのセット。

    • Visible – オブジェクトの可視性。

    次の基本クラスは TfrxReportComponent です。この型のオブジェクトは、レポート デザインに配置することができます。このクラスには、オブジェクトを描画するための Draw メソッドのほかに、レポートの実行時に呼び出される BeforePrint/GetData/AfterPrint メソッドが含まれています。

      TfrxReportComponent = class(TfrxComponent)
      public
        procedure Draw(Canvas: TCanvas; ScaleX, ScaleY, OffsetX, OffsetY: Extended); virtual; abstract;
        procedure BeforePrint; virtual;
        procedure GetData; virtual;
        procedure AfterPrint; virtual;
        function GetComponentText: String; virtual;
        property OnAfterPrint: TfrxNotifyEvent;
        property OnBeforePrint: TfrxNotifyEvent;
      end;
    

    Draw メソッドは、オブジェクトの描画時に呼び出されます。パラメーターは次のとおりです。

    • Canvas – キャンバス。

    • Scale – X 軸および Y 軸の比率。

    • Offset – キャンバスの端からの相対的なオフセット。

    BeforePrint メソッドは、オブジェクトを処理する直前(レポートの作成処理中)に呼び出されます。 このメソッドは、オブジェクトの状態を保存します。

    GetData メソッドは、オブジェクトにデータを読み込むために呼び出されます。

    AfterPrint は、オブジェクト処理後に呼び出されます。このメソッドは、オブジェクトの状態を復元します。

    TfrxDialogComponent クラスは、レポートのダイアログ フォームに配置することができる、非ビジュアル コンポーネントを記述するための基本クラスです。

      TfrxDialogComponent = class(TfrxReportComponent)
      public
        property Bitmap: TBitmap;
        property Component: TComponent;
      published
        property Left;
        property Top;
      end;
    

    TfrxDialogControl クラスは、レポートのダイアログ フォームに配置することができる、コモン コントロールを記述するための基本クラスです。このクラスには、ほとんどのコモン コントロールで共有されている、一般的なプロパティおよびイベントが多数含まれています。

      TfrxDialogControl = class(TfrxReportComponent)
      protected
        procedure InitControl(AControl: TControl);
      public
        property Caption: String;
        property Color: TColor;
        property Control: TControl;
        property OnClick: TfrxNotifyEvent;
        property OnDblClick: TfrxNotifyEvent;
        property OnEnter: TfrxNotifyEvent;
        property OnExit: TfrxNotifyEvent;
        property OnKeyDown: TfrxKeyEvent;
        property OnKeyPress: TfrxKeyPressEvent;
        property OnKeyUp: TfrxKeyEvent;
        property OnMouseDown: TfrxMouseEvent;
        property OnMouseMove: TfrxMouseMoveEvent;
        property OnMouseUp: TfrxMouseEvent;
      published
        property Left;
        property Top;
        property Width;
        property Height;
        property Font;
        property ParentFont;
        property Enabled: Boolean;
        property Visible;
      end;
    

    独自のカスタム コントロール要素を作成する場合は、このクラスから継承し、必要なプロパティを published セクションに移動させてから、独自のコモン コントロール用の新しいプロパティを指定する必要があります。コントロール要素の記述については、次の章で詳しく説明します。

    TfrxView クラスは、レポート デザイン ページに配置することができる、ほとんどのコンポーネントの基本クラスです。この型のオブジェクトは Frame や Fill などのパラメーターを持っており、データ ソースに接続することもできます。FastReport の標準オブジェクトのほとんどは、このクラスから継承されます。

      TfrxView = class(TfrxReportComponent)
      protected
        FX, FY, FX1, FY1, FDX, FDY, FFrameWidth: Integer;
        FScaleX, FScaleY: Extended;
        FCanvas: TCanvas;
        procedure BeginDraw(Canvas: TCanvas; ScaleX, ScaleY, OffsetX, OffsetY: Extended); virtual;
        procedure DrawBackground;
        procedure DrawFrame;
        procedure DrawLine(x, y, x1, y1, w: Integer);
      public
        function IsDataField: Boolean;
        property BrushStyle: TBrushStyle;
        property Color: TColor;
        property DataField: String;
        property DataSet: TfrxDataSet;
        property Frame: TfrxFrame;
      published
        property Align: TfrxAlign;
        property Printable: Boolean;
        property ShiftMode: TfrxShiftMode;
        property TagStr: String;
        property Left;
        property Top;
        property Width;
        property Height;
        property Restrictions;
        property Visible;
        property OnAfterPrint;
        property OnBeforePrint;
      end;
    

    以下のメソッドが、このクラスで定義されています。

    • BeginDraw – このメソッドは Draw メソッドから呼び出され、整数値の座標および描画領域サイズを計算します。計算された値は、FX、FY、FX1、FY1、FDX、および FDY 変数で表されます。また、枠線の幅(FFrameWidth に入れられます)も計算されます。

    • DrawBackground – オブジェクトの背景を描画します。

    • DrawFrame – オブジェクトの枠を描画します。

    • DrawLine – 指定された座標と幅(太さ)を使用して、線を描画します。

    • IsDataField – DataSet および DataField プロパティに空でない値が含まれている場合は、"True" を返します。

    BeginDraw メソッドを呼び出した後、次のプロパティを参照することができます。

    • FX、FY、FX1、FY1、FDX、FDY、FFrameWidth – Scale および Offset パラメーターに従って計算された、オブジェクトの枠線の座標、サイズ、および幅です。

    • FScaleX、FScaleY – 比率。これらは Draw メソッドの ScaleX および ScaleY パラメーターのコピーです。

    • FCanvas – キャンバス。これは Draw メソッドの Canvas パラメーターのコピーです。

    このクラスには、ほとんどのレポート オブジェクトで一般的な以下のプロパティが定義されています。

    • BrushStyle – オブジェクトの塗りつぶしスタイル。

    • Color – オブジェクトの塗りつぶしの色。

    • DataField – オブジェクトが接続されているデータ フィールド名。

    • DataSet – データ ソース。

    • Frame – オブジェクトの枠線。

    • Align – オブジェクトとその親との相対的な配置。

    • Printable – 指定されたオブジェクトを印刷するかどうかを定義します。

    • ShiftMode – 指定されたオブジェクトの上に伸縮可能なオブジェクトが配置された場合の、オブジェクトのシフト モード。

    • TagStr – ユーザー情報を保管するためのフィールド。

    TfrxStretcheable クラスは、収容されるデータに応じて高さを変更するコンポーネントを記述するための基本クラスです。

      TfrxStretcheable = class(TfrxView)
      public
        function CalcHeight: Extended; virtual;
        function DrawPart: Extended; virtual;
        procedure InitPart; virtual;
      published
        property StretchMode: TfrxStretchMode;
      end;
    

    指定されたクラスのオブジェクトは引き伸ばすことができるほか、出力ページ上に空間が見つからない場合には、複数の断片に分けることもできます。同時に、オブジェクトはそのデータがすべて表示されるまで、段階的に表示されます。

    以下のメソッドが、このクラスで定義されています。

    • CalcHeight – 収容されるデータを基にオブジェクトの高さを計算し、その値を返します。

    • InitPart – オブジェクトを分割する前に呼び出されます。

    • DrawPart – オブジェクトに収容されている次のデータ チャンクを描画します。戻り値は、データを表示することができなかった未使用スペースの値です。

    Back to top © Copyright Fast Reports Inc.