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