既存のコントロールの変更

提供: RAD Studio
移動先: 案内検索

コンポーネント作成の詳細:インデックス への移動

コンポーネントを作成する最も簡単な方法は,既存のコンポーネントをカスタマイズする方法です。新しいコンポーネントは,コンポーネントライブラリに提供されているどのコンポーネントからも派生させることができます。

リストボックスやグリッドのようなコントロールには,共通の基本的な機能を持ついくつかのバリエーションがあります。コンポーネントライブラリにはこれらに対応した抽象クラスがあります。抽象クラスは,新しくカスタマイズしたコンポーネントの派生元として使用できます。なお,VCL の抽象クラスの名前には,TCustomGrid のように「Custom」という文字列を入れます。

たとえば,標準の TListBox クラスのプロパティからいくつかを除いて,特別なリストボックスを作成するとします。上位クラスから継承したプロパティを除去する(隠蔽する)ことはできないので,TListBox より上位の階層のクラスからそのコンポーネントを派生させます。この場合,TWinControl クラスまで戻ってしまうと,リストボックスの機能を再びすべて作成しなければなりません。そのため,コンポーネントライブラリには,TCustomListBox が提供されています。この TCustomListBox には,リストボックスのためのプロパティがあります。ただし,そのすべてがパブリッシュに設定されているわけではありません。TCustomListBox などのような抽象クラスからコンポーネントを派生させる場合は,開発するコンポーネントで使用するプロパティだけをパブリッシュに設定し,その他のプロパティはプロテクト設定のまま残します。

継承プロパティをパブリッシュに設定する詳細については,「プロパティの作成」を参照してください。「既存のコンポーネントの変更」および「グリッドのカスタマイズ」には,既存のコントロールの変更例があります。

関連項目