В некоторых ситуациях важно предотвратить превращение конкретных рисунков или осей в цель для выхода графических данных. То есть не дать им стать текущей фигурой, как возвращено gcf
, или текущей системы координат, как возвращено gca
.
Можно хотеть запретить доступ к рисунку, содержащему элементы управления, реализующие пользовательский интерфейс. Кроме того, может потребоваться запретить доступ к осям, являющимся частью прикладной программы, доступ к которой осуществляется только приложением.
Предотвратите MATLAB® функции от нацеливания на конкретный рисунок или оси путем удаления их указателей из списка видимых указателей.
Два свойства управляют видимостью указателя: HandleVisibility
и ShowHiddenHandles
HandleVisibility
является свойством всех графических объектов. Он управляет видимостью указателя на объект до трех возможных значений:
'on'
- Вы можете получить указатель на объект с функциями, которые возвращают указатели, такие как (gcf
, gca
, gco
, get
, и findobj
). Это поведение по умолчанию.
'callback'
- Указатель на объект виден только в рабочей области функции обратного вызова.
'off'
- указатель скрыт от всех функций, выполняемых в командном окне и в функциях обратного вызова.
Когда объект HandleVisibility
установлено в 'callback'
или 'off'
:
Указатель на объект не отображается в Children
его родительского элемента свойство.
Фигуры не появляются в корневых CurrentFigure
свойство.
Оси не появляются в CurrentAxes
содержащего рисунка свойство.
Графические объекты не появляются в CurrentObject
рисунка свойство.
Когда указатель не отображается в его родительский список дочерних элементов, функции, которые получают указатели путем поиска иерархии объектов, не могут вернуть указатель. Эти функции включают get
, findobj
, gca
, gcf
, gco
, newplot
, cla
, clf
, и close
.
Когда рисунок со скрытыми ручками является самым верхним на экране, но имеет рисунки с видимыми ручками, сложенные позади него, gcf
возвращает самую верхний рисунок указателя на видимый элемент в стеке. То же поведение верно для gca
. Если никаких рисунков или осей видимых указателей не существует, вызов gcf
или gca
создает единицу.
Корневой ShowHiddenHandles
свойство включает и отключает управление видимостью указателя. По умолчанию ShowHiddenHandles
является 'off'
, что означает, что MATLAB следует настройке каждого объекта HandleVisibility
свойство.
Настройка ShowHiddenHandles
на on
эквивалентно установке HandleVisibility
свойство всех объектов в графической иерархии, чтобы on
.
Примечание
Заголовок осей и текстовые объекты подписей по осям не являются дочерними элементами осей. Для доступа к указателям на эти объекты используйте оси Title
, XLabel
, YLabel
, и ZLabel
свойства.
close
функция также позволяет получить доступ к рисункам со скрытыми указателями с помощью hidden
опция. Для примера:
close('hidden')
закрывает самую верхний рисунок на экране, даже если ее указатель скрыт.
Объединение all
и hidden
опции:
close('all','hidden')
закрывает все рисунки.
Все указатели остаются действительными независимо от состояния их HandleVisibility
свойство. Если вы назначили указатель на объект переменной, можно всегда задать и получить его свойства с помощью этой переменной handle.