близко

Удалите заданную фигуру

Синтаксис

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 фигуры; это удаляет заданную фигуру.

Смотрите также

| |

Представлено до R2006a