Поиск графических объектов с определенными свойствами
h = findobj
возвращает графический корневой объект и все его потомки.
h = findobj(
возвращает все объекты иерархии, у которых заданные свойства установлены на заданные значения. Можно заменить prop
1,value
1,...,prop
N,value
N)prop,value
пар с другими комбинациями входных аргументов из предыдущих синтаксисов. Для примера, h = findobj(prop1,value1,'-not',prop2,value2,'-property',prop3)
возвращает все объекты, которые удовлетворяют этим трем условиям:
Объект имеет свойство prop1
установлено на value1
.
Объект имеет свойство prop2
значение которого не установлено в value2
.
Объект имеет свойство prop3
.
h = findobj(
ограничивает поиск объектами, перечисленными в objhandles
,___) objhandles
и всех их потомков. Можно ограничить поиск любого из предыдущих синтаксисов.
h = findobj(
ограничивает поиск объектами, перечисленными в objhandles
,'-depth',d
,___)objhandles
и их потомков, которым до d
уровни ниже в иерархии графических объектов.
h = findobj(
ограничивает поиск объектами, перечисленными только в objhandles
,'flat',___) objhandles
. Поиск дочерних объектов не выполняется. Использование 'flat'
опция такая же, как и при использовании '-depth'
опция с d = 0
.
findobj
не возвращает графические объекты, имеющие HandleVisibility
значение свойства установлено в 'off'
. Чтобы вернуть все объекты иерархии, включая скрытые объекты, используйте findall
функция.
findobj
правильно соответствует любому юридическому значению свойства. Например, этот код находит все объекты, имеющие Color
значение свойства установлено в red
, r
, или [1 0 0]
:
findobj('Color','r')
Когда графический объект является потомком более чем одного объекта, идентифицированного в objhandles
MATLAB каждый раз ищет объект findobj
встречается с его указателем. Поэтому неявные ссылки на графический объект могут привести к нескольким возвратам объекта.