Main Content

gcbo

コールバックが実行されているオブジェクトのハンドル

構文

h = gcbo
[h,figure] = gcbo

説明

h = gcbo はコールバックが実行されているグラフィックス オブジェクトのハンドルを返します。

[h,figure] = gcbo は現在のコールバック オブジェクトのハンドルと、このオブジェクトを含む Figure のハンドルを返します。

ヒント

MATLAB® ソフトウェアはコールバックが実行されているオブジェクトのハンドルを Root の CallbackObject プロパティに保存します。コールバックが別のコールバックに割り込む場合、MATLAB は CallbackObject の値を、割り込みを行っているコールバックのオブジェクトのハンドルで置き換えます。そのコールバックが完了すると、MATLAB は割り込まれていたコールバックのオブジェクトのハンドルを復元します。

Root の CallbackObject プロパティは読み取り専用であるので、その値はコールバックの実行中は常に有効です。ルートの CurrentFigure プロパティ、Figure の CurrentAxes プロパティおよび CurrentObject プロパティ (それぞれ関数 gcf、関数 gca および関数 gco によって返される) はユーザーによる設定が可能です。このためコールバックの実行中にそれらのプロパティが変更される可能性があり、特に別のコールバックによってそのコールバックが割り込まれている場合に変更される可能性が高くなります。したがって、これらの関数は、コールバックを実行しているオブジェクトを調べる場合には信頼性のある指示子ではありません。

任意のオブジェクトの CreateFcn および DeleteFcn や、Figure の SizeChangedFcn に対するコールバック ルーチンを記述するときには、gcbo を使用しなければなりません。これらのコールバックはルートの CurrentFigure プロパティや、Figure の CurrentObject プロパティまたは CurrentAxes プロパティを更新せず、ルートの CallbackObject プロパティのみを更新するためです。

コールバックが何も実行されていないとき、関数 gcbo[] (空行列) を返します。

バージョン履歴

R2006a より前に導入

参考

| | |