Main Content

guihandles

Figure の子オブジェクトの取得

説明

メモ

findobj または findall を使用して Figure の子オブジェクトを特定する方が、guihandles を使用する方法よりも推奨されます。推奨される関数を使用すると、特定のプロパティ値または正規表現を使用して返されるオブジェクトのタイプを制御できます。グラフィックス オブジェクトの子オブジェクトの取得に関する詳細については、オブジェクトの検索を参照してください。

s = guihandles(obj) は、空以外の Tag プロパティをもつ Figure の子オブジェクトを返します。

  • objFigure オブジェクトの場合、guihandles は指定された Figure の子オブジェクトを返します。

  • obj が Figure 内のグラフィックス オブジェクトの場合、guihandlesobj を含む Figure の子オブジェクトを返します。

s = guihandles は、現在の Figure にある空以外の Tag プロパティをもつすべての子オブジェクトを返します。Figure が存在しない場合、MATLAB® は新規 Figure を作成し、現在の Figure として設定します。

すべて折りたたむ

まず、UI Figure を作成し、そこに UI コンポーネントを追加します。

f = uifigure;
p = uipanel(f,"Position",[80 10 450 400]);
b1 = uibutton(f,"Text","One","Position",[10 40 60 30]);
b2 = uibutton(f,"Text","Two","Position",[10 10 60 30]);
b3 = uibutton(p,"Text","Three","Position",[10 10 60 30]);

一部の UI コンポーネントについて、Tag プロパティを使用してオブジェクトにタグを追加します。

p.Tag = "panel";
b1.Tag = "button";

関数 guihandles を使用して、UI Figure 内のオブジェクトをクエリします。ほとんどの UI コンポーネントの Tag プロパティは既定で空なので、パネル p とボタン b1 のみが出力構造体に含まれます。構造体のフィールド名は、子オブジェクトの Tag プロパティの値に一致します。

s = guihandles(f)
s = struct with fields:
    button: [1×1 Button]
     panel: [1×1 Panel]

構造体のフィールド名を使用して、UI コンポーネントと特定のコンポーネントのプロパティにアクセスします。たとえば、最初のボタンに表示されるテキストにアクセスします。

s.button.Text
ans = 'One'

また、guihandlesFigure オブジェクトの子コンポーネントを渡して、そのコンポーネントを含む Figure の子オブジェクトを取得することもできます。たとえば、この関数に Panel オブジェクトを渡すと、同じ構造体が返されます。

s2 = guihandles(p)
s2 = struct with fields:
    button: [1×1 Button]
     panel: [1×1 Panel]

入力引数

すべて折りたたむ

グラフィックス オブジェクト。Figure オブジェクトまたは Figure の任意の子オブジェクトを指定できます。

出力引数

すべて折りたたむ

空以外の Tag プロパティをもつ Figure 内のオブジェクト。構造体として返されます。構造体のフィールド名は、Figure に配置された UI コンポーネントまたはグラフィックス オブジェクトの Tag プロパティの値に一致します。guihandles は、有効な変数名でない Tag プロパティ値をもつオブジェクトは返しません。

  • 特定の Tag プロパティをもつオブジェクトが 1 つしかない場合、タグに関連付けられたフィールドの値にはグラフィックス オブジェクトが含まれます。

  • 同じ Tag プロパティをもつオブジェクトが複数ある場合、タグに関連付けられたフィールドの値にはグラフィックス オブジェクトのベクトルが含まれます。

guihandles は、HandleVisibility プロパティが "off" に設定されている場合でもオブジェクトを返します。非表示のオブジェクトの詳細については、Figure および座標軸へのアクセスの禁止を参照してください。

バージョン履歴

R2006a より前に導入