Закройте одни или несколько рисунков
close
закрывает текущую фигуру. Вызывающие close
эквивалентно вызывающим close(gcf)
.
close all
закрывает все рисунки, указатели которых видны. Указатель на рисунок скрыт, если HandleVisibility
для свойства задано значение 'callback'
или 'off'
.
close all hidden
закрывает все рисунки, включая рисунки со скрытыми указателями.
close all force
закрывает все рисунки, включая рисунки, для которых CloseRequestFcn
был задан коллбэк, чтобы запретить пользователям закрывать окно рисунка.
status = close(___)
возвращает status
операции закрытия для любого из предыдущих синтаксисов. Функция возвращается 1
если рисунок или рисунки закрываются и 0
в противном случае. При указании выхода status
, необходимо заключить входные параметры, которые являются векторами символов в круглые скобки; для примера, status = close('all','hidden')
.
Чтобы безоговорочно удалить все рисунки, используйте следующие операторы:
set(groot,'ShowHiddenHandles','on') c = get(groot,'Children'); delete(c)
При реализации CloseRequestFcn
коллбэк, не используйте вызов для close
. Вызов close
в теле коллбэка устанавливается рекурсия, которая приводит к предупреждению MATLAB. Вместо этого реализуйте коллбэк с помощью delete
функция. delete
удаляет рисунок, не выполняя CloseRequestFcn
коллбэк.
Если вы звоните close
на рисунке, не задавая CloseRequestFcn
свойство, значение по умолчанию свойства, closereq
, безоговорочно удаляет рисунок и закрывает ее окно. Чтобы предотвратить удаление при вызове close
, реализуйте CloseRequestFcn
коллбэк.
close
функция оценивает CloseRequestFcn
свойство заданного рисунка f
используя этот оператор:
eval(get(f,'CloseRequestFcn'))
CloseRequestFcn
позволяет задержать или прервать закрытие рисунка один раз close
был вызван. Например, можно открыть диалоговое окно, чтобы подтвердить, что пользователь действительно хочет закрыть рисунок или сохранить и очистить перед закрытием.
Значение по умолчанию CloseRequestFcn
, closereq
, закрывает текущую фигуру, используя delete(get(groot,'CurrentFigure'))
. Если вы задаете массив указателей на рисунок, close
выполняет коллбэк, заданную как CloseRequestFcn
для каждого рисунка.
Если ошибка прекращает выполнение CloseRequestFcn
коллбэк, тогда рисунок не закроется.