Предотвращение доступа к фигурам и осям

Почему предотвращают доступ

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

Была ли эта тема полезной?