Указатель объекта, обратный вызов которого выполняется
h = gcbo
[h, фигура] = gcbo
h = gcbo
возвращает указатель графического объекта, обратный вызов которого выполняется.
[h,figure] = gcbo
возвращает указатель текущего объекта обратного вызова и указатель фигуры, содержащей этот объект.
MATLAB хранит указатель объекта, обратный вызов которого выполняется в корневом свойстве CallbackObject
. Если обратный вызов прерывает другой обратный вызов, MATLAB заменяет значение CallbackObject
на указатель объекта, обратный вызов которого прерывает. Когда тот обратный вызов завершается, MATLAB восстанавливает указатель объекта, обратный вызов которого был прерван.
Корневое свойство CallbackObject
только для чтения, таким образом, его значение всегда допустимо в любое время во время выполнения обратного вызова. Корневое свойство CurrentFigure
и фигура свойства CurrentAxes
и CurrentObject
(возвращенный gcf
, gca
и gco
, соответственно) являются устанавливаемым пользователем, таким образом, они могут измениться во время выполнения обратного вызова, особенно если тот обратный вызов прерван другим обратным вызовом. Поэтому те функции не являются надежными индикаторами, из которых выполняется обратный вызов объекта.
Когда вы пишете стандартные программы обратного вызова для CreateFcn
и DeleteFcn
любого объекта и фигуры SizeChangedFcn
, необходимо использовать gcbo
, поскольку те обратные вызовы не обновляют свойство CurrentFigure
корня или свойства CurrentObject
или CurrentAxes
фигуры; они только обновляют свойство CallbackObject
корня.
Когда никакие обратные вызовы не выполняются, gcbo
возвращает []
(пустая матрица).