FMX.ListView.Appearances.TCommonObjectAppearance
Delphi
TCommonObjectAppearance = class(TObjectAppearance, IMovablePersistent)
C++
class PASCALIMPLEMENTATION TCommonObjectAppearance : public TObjectAppearance
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | FMX.ListView.Appearances.pas FMX.ListView.Appearances.hpp |
FMX.ListView.Appearances | FMX.ListView.Appearances |
説明
目次
TObjectAppearance にいくらかの機能を追加して、新しいオブジェクト外観型を作成しやすくした基底クラスです。
次に示すのは、TCommonObjectAppearance のサブクラスとして作成された、組み込みのオブジェクト外観クラスです。
- TAccessoryObjectAppearance
- TGlyphButtonObjectAppearance
- TImageObjectAppearance
- TTextButtonObjectAppearance
- TTextObjectAppearance
TCommonObjectAppearance のサブクラスの使用
オブジェクト外観には、所有者のほか、その所有者のオブジェクト外観の中で自分自身を一意に識別する名前が必要です。
オブジェクト外観のプロパティのうち、外観に影響を及ぼすものを変更する場合は、BeginUpdate の呼び出しから EndUpdate の呼び出しまでの間に変更を実行します。
TCommonObjectAppearance には、オブジェクト外観をカスタマイズするための次のプロパティが用意されています。
- Align および VertAlign
- Opacity
- PlaceOffset(と ActualPlaceOffset、InternalPlaceOffset)
- Width(と ActualWidth、WidthWhenVisible、InternalWidth)および Height(と ActualHeight、HeightWhenVisible、InternalHeight)
- Visible
次の表に、TCommonObjectAppearance のプロパティが TListItemDrawable のプロパティとどう対応するかを示します。
TCommonObjectAppearance のプロパティ | 対応する TListItemDrawable Property のプロパティ |
---|---|
ActualPlaceOffset | PlaceOffset |
Align | Align |
Opacity | Opacity |
SizeWhenVisible | Size |
VertAlign | VertAlign |
Visible | Visible |
サブクラスでは、外観に影響し、TListItemDrawable のサブクラスのプロパティと対応する、追加のプロパティを定義することができます。
このいずれかのプロパティの変化への対応は OnChange イベントで、Height の変化への対応は OnHeightChange イベントで、それぞれ処理することができます。
外観に影響を及ぼすプロパティをいつでもデフォルト値に戻すことができます。
TCommonObjectAppearance のサブクラスの作成
カスタムのオブジェクト外観型を定義するには、TCommonObjectAppearance のサブクラスを作成し、以下を行います。
- AssignTo をオーバーライドしてコピーの処理を実装します。
CreateDefaultValues
をオーバーライドして、DefaultValues の有効な値(コンストラクタのAIsDefaultValues
にTrue
を渡して作成したもの)を返すようにします。- CreateObject をオーバーライドして、TListItemDrawable のサブクラスのインスタンスを作成し、TListItemDrawable.BeginUpdate の呼び出しと TListItemDrawable.EndUpdate の呼び出しの間でそのインスタンスにオブジェクト外観の関連するプロパティの値を設定します。CreateObject が返す TListItemDrawable のサブクラスをパラメータとしてサポートするよう AssignTo を実装している場合は、それを使用することができます。
- ResetObject をオーバーライドします。実装時には ResetObjectT を使用することができます。
さらに、オブジェクト外観のプロパティを必要なだけ追加します。
オブジェクト外観型だけを実装することはほとんどありません。通常は、まず TListItemDrawable のサブクラスを実装し、それからそれに対応するオブジェクト外観型を実装します。