Main Content

ButtonGroup のプロパティ

ボタン グループの外観と動作の制御

ボタン グループは、ラジオ ボタンとトグル ボタンの排他的選択を管理するためのコンテナーです。ボタン グループを作成するには、関数 uibuttongroup を使用します。ButtonGroup オブジェクトのプロパティ値を変更することによって、外観および動作の特定の要素を変更できます。ドット表記を使用して、特定のオブジェクトとプロパティを参照します。

fig = uifigure;
bg = uibuttongroup(fig);
bg.Title = 'Options';

ButtonGroup オブジェクトの一部のプロパティおよびプロパティ値は、ボタン グループが関数 uifigure と関数 figure のどちらを使用して作成された Figure の子かによって異なります。関数 uifigure は、新しいアプリの作成時に使用が推奨される関数であり、App Designer アプリで使用される関数です。詳細については、アプリの作成方法を参照してください。

タイトル

すべて展開する

タイトル。文字ベクトル、string スカラー、または categorical 配列として指定します。このプロパティを categorical 配列として指定した場合、MATLAB® は配列の最初の要素のみを表示します。

MATLAB では垂直スラッシュ ('|') 文字は改行として解釈されず、タイトル内に垂直スラッシュとして表示されます。

Unicode® 文字を指定する場合、Unicode 10 進コードを関数 char に渡します。たとえば、['Multiples of ' char(960)]Multiples of π として表示されます。

タイトルの位置。'lefttop''centertop'、または 'righttop' として指定します。

figure ベースのアプリ

関数 figure で作成されたアプリ内のボタン グループの場合、タイトルの位置を 'leftbottom''centerbottom'、または 'rightbottom' として追加で指定できます。

色とスタイル

すべて展開する

タイトルの色。RGB 3 成分、16 進数カラー コード、または表にリストされた色オプションのいずれかとして指定します。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

背景色。RGB 3 成分、16 進数カラー コード、または表にリストされた色オプションのいずれかとして指定します。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

ボタン グループの境界。'line' または 'none' として指定します。関数 uifigure で作成されたアプリ内のボタン グループの場合、BorderType の既定値は 'line' です。

figure ベースのアプリ

関数 figure で作成されたアプリ内のボタン グループの場合、BorderType の既定値は 'etchedin' です。ボタン グループの境界を 'etchedin''etchedout''beveledin'、または 'beveledout' として追加で指定できます。

  • 3 次元の外観にするには、etched または beveled の境界線を使用します。

    3 次元の境界線の色を指定するには、BorderColor および ShadowColor プロパティを使用します。

  • 単純な外観にするには、line の境界線を使用します。

    line の境界線の色を指定するには、BorderColor プロパティを使用します。

境界線の幅。正の整数値として指定します。測定の単位はピクセルです。

境界線の色。RGB 3 成分、16 進数カラー コード、または表にリストされた色オプションのいずれかとして指定します。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

フォント

すべて展開する

フォント名。システムでサポートされているフォント名として指定します。既定のフォントは、特定のオペレーティング システムとロケールによって異なります。

指定したフォントが利用できない場合、MATLAB は、アプリが実行中のシステムで利用可能なフォントから最もよく一致するフォントを使用します。

例: 'Arial'

figure ベースのアプリ

関数 figure で作成されたアプリ内のボタン グループの場合、フォント名を 'FixedWidth' として追加で指定できます。この場合、どのロケールでもテキストが整って見える固定幅のフォントが使用されます。実際に使用される固定幅フォントは、root オブジェクトの FixedWidthFontName プロパティによって決まります。FixedWidthFontName プロパティを変更すると、表示内容が新しいフォントを使用して直ちに更新されます。

フォント サイズ。正の数値として指定します。FontUnits プロパティで単位を指定します。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。

例: 14

フォントの太さ。次のいずれかの値として指定します。

  • 'normal' — 各フォントで定義されている既定の太さ

  • 'bold''normal' よりも太い文字

すべてのフォントに太字フォントがあるとは限りません。太字がないフォントの場合、'bold' を指定すると標準フォントの太さになります。

フォントの角度。'normal' または 'italic' として指定します。すべてのフォントにイタリックのフォントの角度があるわけではありません。イタリックがないフォントの場合、'italic' を指定すると標準フォントの角度になります。

フォントの測定単位。次の表のいずれかの値として指定します。

単位の値説明
'pixels' (既定)

Windows® および Macintosh システムでのピクセル単位の距離は、システムの解像度に依存しません。

  • Windows システムの 1 ピクセルは 1/96 インチです。

  • Macintosh システムの 1 ピクセルは 1/72 インチです。

  • Linux® システムでは、ピクセルのサイズは使用しているシステムの解像度によって決まります。

'points'

1 ポイントは 1/72 インチです。

'normalized'フォント サイズを高さの割合として指定する、正規化された値。UI コンポーネントのサイズを変更するときに、MATLAB はその割合を維持して、表示されるフォントをスケーリングします。
'inches'インチ。
'centimeters'センチメートル。

figure ベースのアプリ

関数 figure で作成されたアプリ内のボタン グループの場合、FontUnits の既定値は 'points' です。

対話機能

すべて展開する

可視性の状態。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on' — オブジェクトを表示します。

  • 'off' — オブジェクトを削除せずに非表示にします。非表示の UI コンポーネントのプロパティには引き続きアクセスできます。

アプリの起動を高速化するには、起動時に表示する必要のないすべてのコンポーネントの Visible プロパティを 'off' に設定します。

非表示のコンテナーのサイズを変更した場合、そのコンテナーが表示されるときに SizeChangedFcn コールバックがトリガーされます。

コンテナーの Visible プロパティを変更しても、子コンポーネントの Visible プロパティの値は "変更されません"。これは、コンテナーを非表示にするとその子コンポーネントも非表示になる場合にも当てはまります。

現在選択されているラジオ ボタンまたはトグル ボタン。uifigure ベースのアプリでは RadioButton オブジェクトまたは ToggleButton オブジェクト、figure ベースのアプリでは UIControl オブジェクトとして指定します。

ボタン グループ内で現在選択されているボタンを判定するには、このプロパティ値を取得します。

現在選択されているボタンを変更するには、このプロパティ値を設定します。このプロパティを使用して選択を変更すると、MATLAB はそれに応じて、ボタン グループ内の他のボタンの Value プロパティを調整します。

たとえば、ボタン グループに 3 つのラジオ ボタンがあり、SelectedObject プロパティを radiobutton3 に設定したとします。MATLAB は、それぞれの子 RadioButtonValue プロパティを次のように設定します。

  • radiobutton1.Value = false;

  • radiobutton2.Value = false;

  • radiobutton3.Value = true;

つまり、SelectedObject プロパティを設定することには、ボタン グループ内のボタンの Value プロパティを設定することと同じ効果があります。

コンテキスト メニュー。関数 uicontextmenu を使用して作成された ContextMenu オブジェクトとして指定します。このプロパティは、コンポーネントを右クリックしたときにコンテキスト メニューを表示するために使用します。

位置

すべて展開する

ボタン グループの位置とサイズ。境界とタイトルを含みます。[left bottom width height] の形式のベクトルとして指定します。次の表で、ベクトルの各要素について説明します。

要素説明
left親コンテナーの内側左端からボタン グループの外側左端までの距離
bottom親コンテナーの内側下端からボタン グループの外側下端までの距離
widthボタン グループの外側の右端と左端の間の距離
heightボタン グループの外側の上端と下端の間の距離

すべての測定値は、Units プロパティで指定した単位で表されます。

Position の値の基準は、親コンテナーの "描画可能領域" です。描画可能領域は、コンテナーの境界線の内側にある領域で、メニュー バーやタイトルなどの装飾が占める領域は含まれません。

メモ

ボタン グループがグリッド レイアウト マネージャーを親とする場合、Position プロパティの値は直ちには更新されません。Position の値を使用して、ボタン グループのサイズを基準にボタン グループの子のサイズを変更するには、SizeChangedFcn コールバックを使用します。

この プロパティ は読み取り専用です。

ボタン グループの位置とサイズ。境界とタイトルは除外します。[left bottom width height] の形式の 4 要素ベクトルとして返されます。次の表で、ベクトルの各要素について説明します。

説明
left親コンテナーの内側左端からボタン グループの内側左端までの距離です。
bottom親コンテナーの内側下端からボタン グループの内側下端までの距離です。
widthボタン グループの内側の左右の端の間の距離です。
heightボタン グループの内側の上下の端の間の距離です。タイトルが存在する場合、この距離には含まれません。

すべての測定値は、Units プロパティで指定した単位で表されます。

メモ

InnerPosition プロパティを使用するときに検討しなければならない重要な点がいくつかあります。

  • InnerPosition 値は、タイトルの有無、フォント特性および BorderType によって影響されます。

  • InnerPosition の値の基準は、親コンテナーの "描画可能領域" です。描画可能領域は、コンテナーの境界線の内側にある領域で、タイトルが占める領域は含まれません。

ボタン グループの位置とサイズ。境界とタイトルを含みます。[left bottom width height] の形式の 4 要素ベクトルとして指定します。すべての測定値は、Units プロパティで指定した単位で表されます。

このプロパティ値は、Position プロパティ値と同一です。

測定の単位。次の表のいずれかの値として指定します。

単位の値説明
'pixels' (uifigure ベースのアプリの既定)

Windows および Macintosh システムでのピクセル単位の距離は、システムの解像度に依存しません。

  • Windows システムの 1 ピクセルは 1/96 インチです。

  • Macintosh システムの 1 ピクセルは 1/72 インチです。

Linux システムでは、ピクセルのサイズは使用しているシステムの解像度によって決まります。

'normalized' (figure ベースのアプリの既定)

これらの単位は親コンテナーを基準として正規化されます。コンテナーの左下隅が (0,0) で、右上隅が (1,1) になります。

'inches'インチ。
'centimeters'センチメートル。
'points'ポイント。1 ポイントは 1/72 インチです。
'characters'

これらの単位は、グラフィックス ルート オブジェクトの既定の uicontrol フォントを基にしています。

  • 文字の幅 = 文字 x の幅。

  • 文字の高さ = 2 行のテキストのベースライン間の距離。

既定の uicontrol フォントにアクセスするには、get(groot,'defaultuicontrolFontName') または set(groot,'defaultuicontrolFontName') を使用します。

MATLAB のほとんどのアプリ作成機能では距離をピクセル単位で測定するため、推奨値は 'pixels' です。親コンテナーのサイズに基づいて再スケーリングされるオブジェクトを作成するには、関数 uigridlayout を使用して作成されたグリッド レイアウト マネージャーをオブジェクトの親にします。詳細については、プログラミングによるアプリのレイアウトを参照してください。

コールバック

すべて展開する

選択変更コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバックは、ユーザーがアプリでボタン グループ内の別のボタンを選択したときに実行されます。ラジオ ボタンまたはトグル ボタンの Value プロパティがプログラムにより変更される場合には実行されません。

このコールバック関数は、ユーザーのボタン操作に関する特定の情報にアクセスできます。MATLAB は、この情報を SelectionChangedData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.NewValue は現在選択されているボタンを返します。SelectionChangedData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

次の表に、SelectionChangedData オブジェクトのプロパティを示します。

プロパティ

説明

OldValue

直前に選択されていたボタン

NewValue

現在選択されているボタン

Source

コールバックを実行するコンポーネント

EventName

'SelectionChanged'

コールバックの記述の詳細については、App Designer のコールバックを参照してください。

サイズ変更のコールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバック関数を定義して、このコンテナーのサイズが変更されたときに (ユーザーがウィンドウのサイズを変更した場合など)、アプリのレイアウトをカスタマイズします。ここで、子コンポーネントの Position プロパティを調整するコードを記述します。

メモ

uifigure ベースのアプリでは、SizeChangedFcn コールバックは、このコンテナーの AutoResizeChildren プロパティが 'off' に設定されていない限り実行されません。App Designer で、コンテナーを選択し、[コンポーネント ブラウザー] のコンポーネントのタブで [AutoResizeChildren] チェック ボックスをオフにすると、SizeChangedFcn を実行可能にできます。

SizeChangedFcn コールバックは、次の場合に実行されます。

  • このコンテナーがはじめて表示される。

  • このコンテナーがサイズ変更中に表示される。

  • このコンテナーがサイズ変更後にはじめて表示される。この状況は、コンテナーが非表示の間にサイズが変更され、その後表示される場合に発生します。

SizeChangedFcn コールバックを定義するときに検討しなければならないその他の重要な点は、次のとおりです。

  • SizeChangedFcn が使用する変数がすべて定義されるまで、このコンテナーの表示を遅延させることを検討します。これにより、SizeChangedFcn コールバックがエラーを返すのを防ぐことができます。コンテナーの表示を遅延させるには、Visible プロパティを 'off' に設定します。SizeChangedFcn コールバックが使用する変数を定義した後で、Visible プロパティを 'on' に設定します。

  • 入れ子にされたコンテナーがアプリに含まれる場合、コンテナーのサイズは内側から順に変更されます。

  • サイズを変更しているコンテナーに SizeChangedFcn 内からアクセスするには、ソース オブジェクト (コールバック内の最初の入力引数) を参照するか、関数 gcbo を使用します。

uifigure ベースのアプリでは、サイズ変更動作を指定する別の方法は、GridLayout オブジェクトを作成するか、App Designer で自動リフロー オプションを使用することです。これらのオプションは SizeChangedFcn コールバックより使いやすくなっています。ただし、SizeChangedFcn コールバックにはこれらのオプションに勝る利点があります。以下に例を示します。

  • 定義する最小サイズまでまたは最大サイズまでの、コンポーネントのサイズ変更。

  • 非線形のサイズ変更動作の実装。

ボタンを押したときのコールバック関数。次の値の 1 つとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。

ButtonDownFcn コールバックは、ユーザーがコンテナー内でマウス ボタンをクリックしたときに実行される関数です。

オブジェクト作成関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。

このプロパティは、MATLAB がオブジェクトを作成するときに実行されるコールバック関数を指定します。MATLAB は CreateFcn コールバックを実行する前に、すべてのプロパティ値を初期化します。CreateFcn プロパティを指定しない場合、MATLAB は既定の作成関数を実行します。

既存のコンポーネントに CreateFcn プロパティを設定しても効果はありません。

このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、作成中のオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。

オブジェクト削除関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。

このプロパティは、MATLAB がオブジェクトを削除するときに実行されるコールバック関数を指定します。MATLAB は、オブジェクトのプロパティを破棄する前に DeleteFcn コールバックを実行します。DeleteFcn プロパティを指定しない場合、MATLAB は既定の削除関数を実行します。

このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、削除されるオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。

コールバック実行制御

すべて展開する

コールバックの割り込み。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

このプロパティは実行中のコールバックが割り込み可能かどうかを決定します。次の 2 つのコールバックの状態について考慮する必要があります。

  • "実行中" コールバックは、現在実行しているコールバックです。

  • "割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。

MATLAB は、コールバック キューを処理するコマンドを実行するたびにコールバックの割り込み動作を判別します。これらのコマンドには、drawnowfigureuifiguregetframewaitforpause があります。

実行中コールバックにこれらのコマンドが含まれていない場合、割り込みは発生しません。MATLAB は、実行中コールバックの実行を先に終了させ、その後に割り込みコールバックを実行します。

実行中コールバックにこれらのいずれかのコマンドが含まれている場合、実行中コールバックを所有するオブジェクトの Interruptible プロパティに応じて割り込みが発生するかどうかが決まります。

  • Interruptible の値が 'off' の場合、割り込みは発生しません。代わりに、割り込みコールバックを所有するオブジェクトの BusyAction プロパティに応じて、割り込みコールバックが破棄されるかコールバック キューに追加されるかが決まります。

  • Interruptible の値が 'on' の場合、割り込みが発生します。MATLAB は、コールバック キューの次回処理時に、実行中コールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了した後、MATLAB は実行中だったコールバックの実行を再開します。

メモ

コールバックの割り込みと実行は、以下の状況では動作が異なります。

  • 割り込みコールバックが DeleteFcnCloseRequestFcn または SizeChangedFcn コールバックの場合、Interruptible プロパティの値にかかわらず割り込みが発生します。

  • 実行中のコールバックが関数 waitfor を現在実行している場合、Interruptible プロパティの値にかかわらず割り込みが発生します。

  • 割り込みコールバックが Timer オブジェクトで所有されている場合、Interruptible プロパティの値にかかわらずスケジュールに従ってコールバックが実行されます。

メモ

MATLAB は、割り込みが発生したときにプロパティの状態や表示を保存しません。たとえば、gca コマンドや gcf コマンドから返されたオブジェクトは、別のコールバックを実行するときに変更されている可能性があります。

コールバック キューイング。'queue' または 'cancel' として指定します。BusyAction プロパティは MATLAB による割り込みコールバックの実行の処理方法を決定します。次の 2 つのコールバックの状態について考慮する必要があります。

  • "実行中" コールバックは、現在実行しているコールバックです。

  • "割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。

BusyAction プロパティによってコールバック キューイングの動作が決まるのは、次の両方の条件を満たす場合のみです。

  • 実行中コールバックに drawnowfigureuifiguregetframewaitforpause などのコールバック キューを処理するコマンドが含まれている。

  • 実行中コールバックを所有するオブジェクトの Interruptible プロパティの値が 'off' である。

これらの条件に当てはまる場合、割り込みコールバックを所有するオブジェクトの BusyAction プロパティに応じて MATLAB による割り込みコールバックの処理方法が決まります。BusyAction プロパティは次の値を取ることができます。

  • 'queue' — 割り込みコールバックをキューに入れ、実行中のコールバックが終了した後に処理されるようにします。

  • 'cancel' — 割り込みコールバックを実行しません。

この プロパティ は読み取り専用です。

削除状態。matlab.lang.OnOffSwitchState 型の on/off logical 値として返されます。

MATLAB は、DeleteFcn コールバックが実行を開始すると、BeingDeleted プロパティを 'on' に設定します。コンポーネント オブジェクトが存在しなくなるまで BeingDeleted プロパティは 'on' に設定されたままです。

クエリや変更の前にオブジェクトが削除されようとしていないか確認するために BeingDeleted プロパティの値をチェックします。

現在のオブジェクトになる能力。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on' — ユーザーが実行中のアプリでコンポーネントをクリックしたときに、現在のオブジェクトを ButtonGroup に設定します。関数 Figure および関数 gco の両方の CurrentObject プロパティは、現在のオブジェクトとして ButtonGroup を返します。

  • 'off' — ユーザーが実行中のアプリでコンポーネントをクリックしたときに、現在のオブジェクトを、HitTest'on' になる ButtonGroup の最も近い先祖に設定します。

親/子

すべて展開する

親コンテナー。関数 uifigure を使用して作成された Figure オブジェクト、またはその子コンテナー (TabPanelButtonGroup または GridLayout) のいずれかとして指定します。コンテナーが指定されていない場合、MATLAB は関数 uifigure を呼び出し、親コンテナーとして使用される新しい Figure オブジェクトを作成します。

ButtonGroup の子。空の GraphicsPlaceholder またはコンポーネント オブジェクトの 1 次元配列として返されます。あらゆる UI コンポーネント オブジェクト (他の ButtonGroup オブジェクトも含む) を ButtonGroup オブジェクトの子にすることができます。

ButtonGroupChildren プロパティを使用して、子コンポーネントの追加または削除を行うことはできません。Children プロパティ値は、子のリストの表示や子の並べ替えに使用します。プロパティ値の配列内での子の順序は、画面上のコンポーネントの前から後ろへの順序 (重なり順序) を反映します。

このリストに子を追加するには、子コンポーネントの Parent プロパティを ButtonGroup に設定します。

オブジェクト ハンドルの可視性。'on''callback' または 'off' として指定します。

このプロパティは、オブジェクトの親がもつ子のリストにおけるそのオブジェクトの可視性を制御します。オブジェクトがその親オブジェクトのリストで、子として可視できない場合、オブジェクト階層の検索またはプロパティのクエリによってオブジェクトを取得する関数は、そのオブジェクトを返しません。これらの関数には、getfindobjclf および close が含まれます。オブジェクトは参照できない場合も有効です。オブジェクトにアクセスできる場合は、そのプロパティを設定および取得して、それをオブジェクトに作用する任意の関数に渡すことができます。

HandleVisibility の値説明
'on' オブジェクトは常に参照できます。
'callback'オブジェクトはコールバック内から、あるいはコールバックにより呼び出される関数から参照できます。しかし、コマンド ラインから呼び出される関数からは参照できません。このオプションを使用すると、コマンド ラインからのオブジェクトへのアクセスがブロックされますが、コールバック関数からのアクセスは許可されます。
'off'オブジェクトは常に参照できません。このオプションは、他の関数による UI の意図しない変更を防止するために役立ちます。HandleVisibility'off' に設定すると、その関数の実行中にオブジェクトが一時的に非表示になります。

識別子

すべて展開する

この プロパティ は読み取り専用です。

グラフィックス オブジェクトのタイプ。'uibuttongroup' として返されます。

オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。オブジェクトの識別子として機能する一意の Tag 値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合、関数 findobj を使用して Tag 値に基づいてオブジェクトを検索できます。

ユーザー データ。任意の MATLAB 配列として指定します。たとえば、スカラー、ベクトル、行列、cell 配列、文字配列、table、または構造体を指定できます。このプロパティを使用して、任意のデータをオブジェクトに保存します。

App Designer を使用している場合は、UserData プロパティを使用する代わりに、アプリでパブリック プロパティまたはプライベート プロパティを作成してデータを共有します。詳細については、App Designer アプリ内でのデータの共有を参照してください。

uifigure ベースのアプリのみ

すべて展開する

この プロパティ は読み取り専用です。

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のボタン グループでのみ有効です。

ボタン グループによって管理されるボタン。RadioButton オブジェクトの配列または ToggleButton オブジェクトの配列として返されます。

このプロパティは、必ずしも、ButtonGroup オブジェクト内のすべての子コンポーネントを返すとは限りません。RadioButton オブジェクトまたは ToggleButton オブジェクト以外の子コンポーネントにアクセスする必要がある場合は、Children プロパティを使用してください。

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のボタン グループでのみ有効です。

操作可能状態。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、アプリ ユーザーはコンポーネントを操作できます。

  • このプロパティを 'off' に設定した場合、コンポーネントはグレー表示されます。これは、アプリ ユーザーがコンポーネントを操作することができず、コンポーネントはコールバックをトリガーしないことを示します。

ボタン グループの Enable プロパティの値を変更しても、そのボタン グループに含まれている UI コンポーネントの Enable プロパティの値は "変更されません"

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のボタン グループでのみ有効です。

ツールヒント。文字ベクトル、文字ベクトルの cell 配列、string 配列、または 1 次元の categorical 配列として指定します。このプロパティを使用して、実行時にユーザーがポインターをコンポーネントに合わせるとメッセージが表示されるようにします。複数行のテキストを表示するには、文字ベクトルの cell 配列または string 配列を指定します。配列の各要素は、テキストの各行になります。このプロパティを categorical 配列として指定した場合、MATLAB はカテゴリの完全なセットではなく、配列内の値を使用します。

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のボタン グループでのみ有効です。

スクロール機能。'off' または 'on'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

このプロパティを 'on' に設定すると、コンテナー内でのスクロールが有効になります。ただし、以下の追加要件があります。

  • コンテナー内の子コンポーネントは、コンテナーが一度に表示できるよりも大きい領域を占めていなければならない。

  • コンテナーに収まらないコンポーネントは、コンテナーより上または右になければならない。コンテナーより下または左にあるコンポーネントにスクロールすることはできません。

特定のタイプのチャートと座標軸では、スクロール可能なコンテナーはサポートされていません。ただし、チャートや座標軸をスクロール不可能なパネル内に配置してから、そのパネルをスクロール可能なコンテナーに配置することはできます。詳細については、App Designer でのグラフィックスの表示を参照してください。

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のボタン グループでのみ有効です。

子のサイズの自動変更。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on' — コンテナーのサイズが変更されると、子コンポーネントのサイズが自動的に変更されます。

  • 'off' — 子コンポーネントのサイズは変更されません。

AutoResizeChildren プロパティはコンテナーの直接の子に影響します。入れ子にされたコンテナー内の子には影響しません。

サイズ変更の動作をカスタマイズするには、AutoResizeChildren プロパティを 'off' に設定して、コンテナーの SizeChangedFcn コールバックを作成します。詳細については、プログラムによるアプリのサイズ変更動作の管理を参照してください。

アプリのサイズ変更を無効にするには、Figure の Resize プロパティを 'off' に設定します。

メモ

このプロパティは、App Designer 内および関数 uifigure を使用して作成されたアプリ内のボタン グループでのみ有効です。

レイアウト オプション。GridLayoutOptions オブジェクトとして指定します。このプロパティは、グリッド レイアウト コンテナーの子であるコンポーネントのオプションを指定します。コンポーネントがグリッド レイアウト コンテナーの子ではない場合 (たとえば、Figure またはパネルの子である場合) は、このプロパティは空で、効果はありません。しかし、コンポーネントがグリッド レイアウト コンテナーの子である場合は、GridLayoutOptions オブジェクトの Row プロパティおよび Column プロパティを設定して、グリッドの目的の行と列にコンポーネントを配置することができます。

たとえば、以下のコードは、ボタン グループをその親グリッドの 3 行目の 2 列目に配置します。

g = uigridlayout([4 3]);
bg = uibuttongroup(g);
bg.Layout.Row = 3;
bg.Layout.Column = 2;

ボタン グループが複数の行または列にまたがるようにするには、Row または Column プロパティを 2 要素ベクトルとして指定します。たとえば、次のボタン グループは 2 列目から 3 列目にまたがります。

bg.Layout.Column = [2 3];

figure ベースのアプリのみ

すべて展開する

メモ

このプロパティは、関数 figure を使用して作成されたアプリ内のボタン グループでのみ有効です。

境界線の影の色。RGB 3 成分、16 進数カラー コード、または表にリストされた色オプションのいずれかとして指定します。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

バージョン履歴

R2006a より前に導入

すべて展開する

参考

関数

ツール