アクションのターゲットの検索方法
{{Parent|アクション マネージャを使用した VCL アクションの処理}
「アクションの起動時に起こること」では、ユーザーがアクションを呼び出したときに行われる実行サイクルについて説明しています。アクション リスト、アプリケーション、アクションのいずれのレベルでも、アクションに応答するイベント ハンドラが割り当てられていない場合、アプリケーションでは、アクションの適用先となり得るターゲット オブジェクトを特定しようとします。
アプリケーションでは、次の手順でターゲットを探します。
- アクティブなコントロール: アプリケーションでは、可能性のあるターゲットとして、まず、アクティブなコントロールを探します。
- アクティブなフォーム: アクティブなコントロールが見つからなかった場合や、アクティブなコントロールがターゲットとなり得ない場合、アプリケーションでは、画面上の ActiveForm を調べます。
- フォーム上のコントロール: アクティブなフォームがターゲットとして適切でない場合、アプリケーションでは、アクティブなフォーム上の他のコントロールを調べて、ターゲットを探します。
ターゲットが見つからなければ、イベントが発生しても何も起りません。
一部のコントロールでは、検索範囲を広げて、関連コンポーネントもターゲットとすることができます。たとえば、データ対応コントロールでは、関連付けられているデータセット コンポーネントまでターゲットとなります。さらに、一部の定義済みアクションではターゲットを使用しません(たとえば[ファイルを開く]ダイアログなど)。