FireMonkey コンポーネント ライブラリ
以下の図は、FireMonkey 階層を構成するいくつかの重要なクラスの関係を示しています。FireMonkey コンポーネントを作成するには、どのクラスを上位クラス(拡張点)として使用して特定の機能を実装するかを決定する必要があります。例については、「既存のコンポーネントを拡張してスタイル付きの FireMonkey コンポーネントを作成する」を参照してください。
目次
System.TObject
TObject は、以下を提供するメソッドを導入することで、コンポーネント ライブラリ内のすべてのクラスに共通する基本動作をカプセル化しています。
- オブジェクト インスタンスの作成時または破棄時に応答する機能
- オブジェクトのクラス型とインスタンスに関する情報および公開プロパティに関する実行時型情報(RTTI)
TPersistent
フォーム ファイルやデータ モジュールと共に何が保存され、メモリから取得されるときにフォームやデータ モジュールに何が読み込まれるかは、持続性で決まります。
TPersistent を継承するクラスは公開プロパティとして使用できるため、[オブジェクト インスペクタ]でそれらのプロパティにアクセスできます。
TComponent – 非ビジュアル コンポーネント
非ビジュアル コンポーネントは[ツール パレット]に表示され、設計時にはフォーム上で操作できますが、実行時にはユーザーに表示されません。
非ビジュアル コンポーネントの代表的な用途は以下のとおりです。
- データベースとの接続の管理
- タイマの役割(そのため定期的アクションのイベントを定義できます)
TFmxObject
TFmxObject は TComponent を拡張したもので、FireMonkey コンポーネントに対する次のような低レベル機能を提供します。
- オブジェクトの生成、破棄、解放
- オブジェクトの複製、保存、ストリームからの読み込み
- 子オブジェクトの操作(追加、削除、検索)
- 通知の解放
TControl
TControl は、画面に表示される FMX コンポーネントの基底クラスです。ほとんどの場合は、TControl そのものではなく、TShape、TStyledControl、TControl3D のいずれかをベースにクラスを作成します。
TShape – FireMonkey プリミティブ
TShape は 2D グラフィック プリミティブ(TLine、TRectangle、TPath など)の基底クラスです。 これらのクラスでは、自分自身を描画するために Paint メソッドをオーバーライドしています。一方、これらのクラス単独ではルック アンド フィールを変更しません。異なるスタイルでは次のいずれかを選択します。
- 異なるプロパティが設定されたプリミティブ
- スタイルに基づく異なるプリミティブ
TStyledControl – スタイル付きコントロール
TStyledControl は、ユーザーとやり取りするためのカスタマイズ可能なコントロールの基底クラスです。これらのクラスでは、スタイル リソース(いつでも変更可能)を通じてルック アンド フィールを定義します。ユーザー インターフェイスを作成する場合、スタイル リソースでは、スタイル ファイルを通じて特定のプリミティブ(一連のプリミティブまたは一連のスタイル付きコントロール)を選択します。
TControl3D – 3D コントロール
TControl3D は TFmxObject を拡張したもので、画面上に表示されるオブジェクトを提供します。以下に関するプロパティやメソッドが追加されています。
- Opacity、Scale、Visible
- 3D サイズ:
- X 軸、Y 軸、Z 軸に対する 3D 位置:
- X 軸、Y 軸、Z 軸に対する 3D 回転角:
- 以下のイベントを通じたマウスおよびキーボードとのやり取り:
- OnMouseDown、OnMouseMove、OnKeyDown のいずれか
- 描画とレンダリング