exponenta event banner

Запретить доступ к фигурам и осям

Почему запретить доступ

В некоторых ситуациях важно не допустить, чтобы отдельные фигуры или оси становились мишенью для вывода графики. То есть не дать им стать текущей цифрой, как возвращено 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.

Значения, возвращаемые gca и gcf

Когда фигура со скрытой ручкой находится в верхней части экрана, но за ней расположены фигуры с видимой ручкой, 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 собственность. Если дескриптор объекта назначен переменной, всегда можно задать и получить его свойства с помощью этой переменной-дескриптора.