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 より前に導入