ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

findobj

固有のプロパティをもつグラフィックス オブジェクトを見つける

構文

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 はオブジェクトのハンドルを返します。MATLAB® での正規表現の使用法の情報は、関数 regexp を参照してください。

h = findobj('-property','PropertyName') は、指定されたプロパティをもつすべてのオブジェクトを検索します。

h = findobj(objhandles,...) は、objhandles にリストされたオブジェクトとそれに関連した下位オブジェクトに検索を制限します。

h = findobj(objhandles,'-depth',d,...) は、検索の深さを指定します。深さの引数 d により、objhandles のハンドルで検索する深さのレベル数が制御されます。すべてのレベル (既定の動作) に設定するには、dinf を指定します。引数 flat を使用する場合と同じ動作に設定するには、d0 を指定します。

h = findobj(objhandles,'flat','PropertyName',PropertyValue,...) は、objhandles にリストされたオブジェクトのみに検索を制限し、その下位オブジェクトの検索は行いません。

ハンドルが存在しないグラフィックス オブジェクトを参照すると、関数 findobj はエラーを返します。

関数 findobj は、すべての正しいプロパティ値に正確に一致するオブジェクトを検索します。たとえば、

findobj('Color','r')
は、Color プロパティが redr、または [1 0 0] に設定されたすべてのオブジェクトを検索します。

グラフィックス オブジェクトが、objhandles で識別される複数のオブジェクトの下位オブジェクトである場合、関数 findobj がそのハンドルを検出するたびに MATLAB によってオブジェクトが検索されます。そのため、グラフィックス オブジェクトへの暗黙的な参照では、そのハンドルが複数回返される可能性があります。

指定された条件に一致するハンドル オブジェクトを検索するには、findobj を使用します。

現在の Axes のすべての Line オブジェクトを以下のように検索します。

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','[^'']')

現在の Figure で BackgroundColor プロパティが特定のグレーの色調 ([.7 .7 .7]) に設定されたすべての子オブジェクトを検索します。このステートメントは、プロパティ値の組み合わせが一致する現在の Figure の検索も行います。

h = findobj(gcf,'-depth',1,'BackgroundColor',[.7 .7 .7])

関連する例

参考

| | | | | | | | |

この情報は役に立ちましたか?