| 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 | ![]() |