TPersistent 分岐
TPersistent 分岐には、TPersistent から派生した VCL クラスのうち、TComponent の派生クラスを除くものがすべて含まれます。持続性によって、フォーム ファイルやデータ モジュールと一緒に何が保存され、メモリから取り出されるときにフォームやデータ モジュールに何が読み込まれるかが決まります。
この分岐のオブジェクトは持続性があるため、設計時に表示できます。ただし、これらのオブジェクトはコンポーネントのプロパティを実装したものであり、単独で存在することはできません。プロパティをフォームと一緒に読み込んだり保存するには所有者が必要です。プロパティの所有者はコンポーネントでなければなりません。TPersistent には GetOwner というメソッドがあり、フォーム デザイナではそれを使ってオブジェクトの所有者を判断します。
また、この分岐のクラスは最初に公開セクションをインクルードするため、そこでプロパティを自動的に読み込んだり保存することができます。DefineProperties メソッドを使用すると、各クラスでプロパティの読み込み方法と保存方法を指定できます。
以下は、階層の TPersistent 分岐に含まれるクラスの一部です。
- Vcl.Graphics.TBrush、Vcl.Graphics.TFont、Vcl.Graphics.TPen などのグラフィック。
- ビジュアルな画像を格納し表示する Vcl.Graphics.TBitmap や Vcl.Graphics.TIcon、およびアプリケーションから切り取られたりコピーされたテキストやグラフィックを含む Vcl.Clipbrd.TClipboard などのクラス。
- 設計時に割り当てることが可能なテキストや文字列のリストを表す System.Classes.TStringList などの文字列リスト。
- System.Classes.TCollection から派生したコレクションや System.Classes.TCollectionItem から派生したコレクション項目。これらのクラスでは、コンポーネントに属する特別に定義されたコレクション項目のインデックス付きコレクションを保持します。たとえば、Vcl.ComCtrls.THeaderSections と Vcl.ComCtrls.THeaderSection、Vcl.ComCtrls.TListColumns と Vcl.ComCtrls.TListColumn などがあります。
以下は、階層の TPersistent 分岐に含まれるその他のクラスの一部です。
- TGraphicsObject: TBrush、TFont、TPen といったグラフィック オブジェクトの抽象基底クラス。
- TGraphic: ビジュアルな画像を格納し表示する TBitmap、TIcon といったオブジェクトの抽象基底クラス。
- TStrings: 文字列のリストを表すオブジェクトの基底クラス。
- TClipboard: アプリケーションから切り取られたりコピーされたテキストやグラフィックを含むクラス。
- TCollection、TOwnedCollection、TCollectionItem: 特別に定義された項目のインデックス付きコレクションを保持するクラス。