アクション コンポーネントの記述

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

アクション マネージャを使用した VCL アクションの処理 への移動


定義済みアクション クラスを独自に作成することもできます。独自のアクション クラスを作成すると、オブジェクトの特定のターゲット クラスに対して実行する機能を組み込むことができます。そのあとは、定義済みアクション クラスを使用する場合と同じように、カスタム アクションを使用できます。つまり、アクションが自分自身を認識しターゲット クラスに適用できる場合、プログラマは単にクライアント コントロールにアクションを割り当てるだけでよく、イベント ハンドラを記述しなくても、そのアクションがターゲットに作用することができます。

コンポーネント開発者は、StdActns ユニットおよび DBActns ユニット内のクラスを独自アクション クラスの派生のサンプルとして使用して、特定のコントロールやコンポーネントに固有の動作を実装することができます。これらの特化されたアクションの基底クラス(TEditActionTWindowAction など)では、一般に、HandlesTargetUpdateTarget などのメソッドをオーバーライドして、アクションのターゲットをオブジェクトの特定のクラスに限定します。下位クラスでは、一般に、特化されたタスクを実行するように ExecuteTarget をオーバーライドします。これらのメソッドについて、次の表で説明します。

特定のアクションの基底クラスによりオーバーライドされるメソッド

メソッド 説明

HandlesTarget

アクションにリンクされているオブジェクト(ツール ボタンやメニュー項目など)をユーザーが起動すると、自動的に呼び出されます。HandlesTarget メソッドは、Target パラメータで "ターゲット" として指定されたオブジェクトを使ってその時点で実行するのが適切かどうかを、アクション オブジェクトが示せるようにします。詳細は、「アクションのターゲットの検索方法」を参照。

UpdateTarget

アクションが現在の状態に応じて自分自身を更新できるように、アプリケーションがアイドル状態になっているときに自動的に呼び出されます。OnUpdateAction の代わりに使用します。詳細は、「アクションの更新」を参照。

ExecuteTarget

OnExecute の代わりにユーザー アクションに応答してアクションが起動されたとき(たとえば、このアクションにリンクされているメニュー項目やツール ボタンをユーザーが選択したりクリックしたときなど)に、自動的に呼び出されます。詳細は、「アクションの起動時に起こること」を参照。


独自のアクション クラスを作成する場合は、以下の点を理解しておくことが大切です。

関連項目