MATLAB Function Reference | ![]() ![]() |
コールバックが現在実行されているオブジェクトのハンドル番号の出力
表示
詳細
h = gcbo
は、コールバックが実行されているグラフィックスオブジェクトのハンドル番号を出力します。
[h, figure] = gcbo
は、カレントのコールバックオブジェクトのハンドル番号とそのオブジェクトを含む Figure のハンドル番号を出力します。
注意
MATLAB は、コールバックを実行しているオブジェクトのハンドル番号を、Root の CallbackObject
プロパティに格納します。コールバックが別のコールバックを中断すると、MATLAB は CallBackObject
の値を中断させているコールバックのオブジェクトのハンドル番号で置き換えます。そのコールバックが完了すると、MATLABは中断されていたコールバックのオブジェクトのハンドル番号を再度格納します。
Rootの CallbackObject
プロパティは参照のみなので、その値はコールバックの実行中に常に有効です。Rootの CurrentFigure
プロパティと、Figure の CurrentAxes
および CurrentObject
プロパティ(それぞれgcf
,
gca
, gco
によって出力されます)は、ユーザによる設定が可能です。それで、特に、別のコールバックにより、そのコールバックが中断される場合に、コールバックの実行中にそれらのプロパティを変更することができます。そのため、これらの関数は、コールバックを実行しているオブジェクトに対して信頼性のある指示子ではありません。
任意のオブジェクトの CreateFcn
と DeleteFcn
やフィギュアの ResizeFcn
に対するコールバックルーチンを書き込む場合、これらのコールバックは、ルートの CurrentFigure
プロパティ、または、フィギュアの CurrentObject
、または、CurrentAxes
プロパティのいずれかも更新しないので、gcbo
を使う必要があります。
コールバックが何も実行されていないとき、gcbo
は []
を出力します。
参考
gca
, gcf
, gco
, rootobject
![]() | gca | gcd | ![]() |