ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

event.listener

リスナー オブジェクトを定義するクラス

構文

lh = event.listener(Hobj,'EventName',@CallbackFunction)

説明

event.listener クラスは、リスナー オブジェクトを定義します。リスナー オブジェクトは、指定されたイベントに応答し、イベントがトリガーされるときに呼び出すコールバック関数を識別します。

lh = event.listener(Hobj,'EventName',@CallbackFunction) は、EventName で名前が付けられたイベントについて、指定された Hobj オブジェクトに event.listener オブジェクトである lh を作成します。

Hobj がオブジェクト ハンドルの配列である場合、リスナーは配列で参照されたオブジェクトの名前の付いたイベントに応答します。

リスナー コールバック関数は、少なくとも 2 つの入力引数を受け入れなければなりません。たとえば、

function CallbackFunction(source,eventData)
   ...
end

ここで、source はイベントのソースであるオブジェクトで、関数 eventData は関数 event.EventData オブジェクトです。

event.listener クラスは handle クラスです。

リスナーのライフサイクルの制限

通常、リスナー オブジェクトは、関数 addlistener を使用して作成します。また、event.listener コンストラクターを呼び出して、リスナーを直接作成することもできます。event.listener コンストラクターを使用する場合、リスナーのライフサイクルは、リッスンされているオブジェクト (複数の場合もある) には関連していません。すなわち、リスナー オブジェクトがスコープにとどまらない場合、そのリスナーは存在できません。リスナー オブジェクトの作成の詳細は、「リスナーの作成方法」を参照してください。

リスナーの削除

リスナー オブジェクトで delete(lh) が呼び出されると、リスナーが存在できなくなります。すなわち、イベントが発生してもリスナー コールバック関数が実行されなくなります。

リスナーの無効化

リスナーは、リスナーの Enabled プロパティの値を設定することで、有効化または無効化できます (次のプロパティ表を参照)。

イベントとリスナーの詳細

イベントとリスナーに関する詳細および使用方法の例については、「イベント」を参照してください。

プロパティ

プロパティ目的
Sourceソース オブジェクトのセル配列
EventNameイベントの名前
Callbackイベントがトリガーされ、Enabled プロパティが true に設定されている場合、実行される関数
EnabledEnabledtrue に設定されている場合 (既定の設定) にのみ、イベントが発生すると、コールバックが実行されます。
Recursive

このプロパティが false に設定されている場合 (既定の設定)、リスナーは再帰的に実行されません。したがって、コールバックが自身のイベントをトリガーすると、リスナーは再実行されません。

このプロパティが true に設定されている場合、リスナー コールバックは、コールバックをトリガーした同じイベントを発生させることができます。この方法では、無限再帰が発生し、最終的に MATLAB® 再帰制限でエラーがトリガーされると終了します。

参考

| |

この情報は役に立ちましたか?