Найдите графические объекты с определенными свойствами
findobj
h = findobj
h = findobj('PropertyName
',PropertyValue,...)
h = findobj('PropertyName
',PropertyValue,'-logicaloperator
', 'PropertyName
',PropertyValue,...)
h = findobj('-regexp','PropertyName
','regexp
',...)
h = findobj('-property','PropertyName
')
h = findobj(objhandles,...)
h = findobj(objhandles,'-depth',d,...)
h = findobj(objhandles,'flat','PropertyName
',PropertyValue,...)
findobj
возвращает указатели корневого объекта и всех его потомков, не присваивая результат переменной.
h = findobj
возвращает указатели корневого объекта и всех его потомков.
h = findobj('
возвращает указатели всех графических объектов, имеющих свойство PropertyName
',PropertyValue,...)PropertyName
, набор к значению PropertyValue
. Можно задать больше чем одну пару свойства/значения, в этом случае, findobj
возвращает только те объекты, имеющие все заданные значения.
h = findobj('
применяет логический оператор к соответствию значения свойства. Возможные значения для-PropertyName
',PropertyValue,'-logicaloperator
', 'PropertyName
',PropertyValue,...)logicaloperator
:
-and
-or
-xor
-not
Для получения дополнительной информации о логических операторах смотрите Логические операции.
h = findobj('-regexp','
объекты соответствий с помощью регулярных выражений, как будто значение вас передало свойство PropertyName
','regexp
',...)PropertyName
функции regexp
как
regexp(PropertyValue,'regexp')
findobj
возвращает указатель на объект. Смотрите, что regexp
функционирует для получения информации о том, как MATLAB использует регулярные выражения. Опция '-regexp'
не работает на все типы свойств.h = findobj('-property','
находит все объекты, имеющие заданное свойство.PropertyName
')
h = findobj(objhandles,...)
ограничивает поиск объектами, перечисленными в objhandles
и их потомках.
h = findobj(objhandles,'-depth',d,...)
задает глубину поиска. Аргумент d
глубины управляет сколько уровней под указателями в objhandles
пересечения MATLAB. Задайте d
как inf
, чтобы получить поведение по умолчанию всех уровней. Задайте d
как 0
, чтобы получить то же поведение как использование аргумента flat
.
h = findobj(objhandles,'flat','
ограничивает поиск теми объектами, перечисленными в PropertyName
',PropertyValue,...)objhandles
, и не ищет потомков.
findobj
возвращает ошибку, если указатель относится к несуществующему графическому объекту.
findobj
правильно совпадает с любым легальным значением свойства. Например,
findobj('Color','r')
Color
к red
, r
или [1 0 0]
.Когда графический объект является потомком больше чем одного объекта, идентифицированного в objhandles
, MATLAB ищет объект каждый раз, когда findobj
сталкивается со своим указателем. Поэтому неявные ссылки на графический объект могут привести к нескольким возвратам его указателя.
findobj
не возвращает графические объекты, которые имеют набор свойств HandleVisibility
к 'off'
. Для получения дополнительной информации см. описание свойства HandleVisibility
.
Найдите все объекты линии в текущей системе координат:
h = findobj(gca,'Type','line')
Найдите все объекты, устанавливающие Label
на 'foo'
и набор свойств String
к 'bar'
:
h = findobj('Label','foo','-and','String','bar');
Найдите все объекты, свойство String
которых не является 'foo'
и не является 'bar'
:
h = findobj('-not','String','foo','-not','String','bar');
Найдите все объекты, имеющие набор свойств String
к 'foo'
и набор свойств Tag
к 'button one'
и чьим свойством Color
не является 'red'
или 'blue'
:
h = findobj('String','foo','-and','Tag','button one',... '-and','-not',{'Color','red','-or','Color','blue'})
Найдите все объекты, для которых вы присвоили значение свойству Tag
(то есть, значение не является пустым символьным вектором ''
):
h = findobj('-regexp','Tag','[^'']')
Найдите все дочерние элементы текущей фигуры, которые имеют их набор свойств BackgroundColor
к определенному оттенку серого ([.7 .7 .7]
). Этот оператор также ищет текущую фигуру соответствующую пару значения свойства.
h = findobj(gcf,'-depth',1,'BackgroundColor',[.7 .7 .7])