Main Content

iptPointerManager

Figure にポインター マネージャーを作成

説明

iptPointerManager(hFigure) は、指定した Figure hFigure にポインター マネージャーを作成します。Figure にポインター動作構造体が含まれている場合、ポインター マネージャーは、Figure のグラフィックス オブジェクトにおけるポインター動作を制御します。

ポインター動作構造体を特定のオブジェクトに関連付け、マウス ポインターがオブジェクトの上に移動したりオブジェクトを離れたりしたときの特定のアクションを定義するには、iptSetPointerBehavior を使用します。

iptPointerManager(hFigure,'disable') は、Figure のポインター マネージャーを無効にします。

iptPointerManager(hFigure,'enable') により、Figure のポインター マネージャーが有効になり、また更新されます。

Line オブジェクトを含む Figure 内のポインター マネージャーの作成

ラインをプロットします。Figure にポインター マネージャーを作成します。ポインター動作構造体と Figure の Line オブジェクトを関連付けます。このオブジェクト上ではマウス ポインターが常に花形に変わるようにします。

 h = plot(1:10);
 iptPointerManager(gcf);
 enterFcn = @(hFigure,currentPoint)set(hFigure,'Pointer','fleur');
 iptSetPointerBehavior(h,enterFcn);

入力引数

すべて折りたたむ

Figure。figure オブジェクトとして指定します。

詳細

すべて折りたたむ

ポインター動作構造体

ポインター動作構造体には、マウスが Figure 内のオブジェクトの上に移動したりオブジェクトを離れたりしたときのポインターの動作を指定する 3 つのフィールドがあります。

ポインターの特定のアクションを定義するには、これらのフィールドの値に関数ハンドルを設定します。フィールドを [] に設定した場合は、何のアクションも発生しません。関数ハンドルをポインター マネージャーで呼び出す場合、ポインター マネージャーは、2 つの引数 (figure オブジェクトとポインターの現在の位置) を渡します。

フィールド呼び出される場合
enterFcnオブジェクト上をマウス ポインターが移動したときに呼び出されます。
traverseFcnマウス ポインターがオブジェクトに重なったときに呼び出され、オブジェクト内部をマウスが移動するたびに再度呼び出されます。
exitFcnマウス ポインターがオブジェクトを離れたときに呼び出されます

ヒント

  • Figure が既にポインター マネージャーを含んでいる場合、iptPointerManager(hFigure) はポインター マネージャーを新規に作成しません。この構文の動作は iptPointerManager(hFigure,'enable') と同じです。

  • iptPointerManager は、ポインターが上にあるオブジェクトだけではなく、Figure 内のすべてのオブジェクトを認識します。iptPointerManager は、グラフィックス オブジェクト階層を探索し、ポインター動作構造体を含む最初のオブジェクトを検出します。すると iptPointerManager は、オブジェクトのポインター動作の関数を実行します。詳細については、グラフィックス オブジェクトの階層を参照してください。

    たとえは、ポインターを花形に設定し、ポインターと座標軸を関連付けるとします。すると Figure ウィンドウにポインターを移動したとき、最初に既定のポインターとなり、座標軸を横切ると花形に変わります。座標軸に対するオブジェクト上に移動しても花形のままです。

  • iptSetPointerBehavior を使用してポインター動作を指定した後、iptSetPointerBehavior を使用せずに Figure ポインターを変更した場合、iptPointerManager は新しい動作を反映するように更新されません。iptSetPointerBehavior を使用せずに Figure ポインターを変更する方法としては、Polygon などの ROI オブジェクトを使用する、別のグラフィックス オブジェクトを使用する、別のカスタム UI を使用する、またはコールバック内からポインターを変更するコードを使用するなどの方法があります。

バージョン履歴

R2006a で導入