Main Content

ToggleButton のプロパティ

トグル ボタンの外観の制御

トグル ボタンは、通常はボタン グループ内の一連のオプションとして表されます。ユーザーはそのうちのいずれかを選択しなければなりません。プロパティがトグル ボタンの外観と動作を制御します。ドット表記を使用して、特定のオブジェクトとプロパティを参照します。

fig = uifigure;
bg = uibuttongroup(fig)
tbutton = uitogglebutton(bg);
tbutton.Text = 'One';

ボタン

すべて展開する

トグル ボタンの状態。0 (押されていない) または 1 (押されている) として指定します。ボタン グループ内で一度に選択できる (押すことができる) トグル ボタンは 1 つのみです。Value プロパティが 1 に設定されている場合、トグル ボタンは押されている状態で表示されます。既定では、ボタン グループに最初に追加されたボタンの状態が 1 です。同じボタン グループに追加された後続ボタンの既定の状態は 0 です。

ToggleButtonValue プロパティが 1 に変更されるときに、直前に選択されていた ToggleButtonValue プロパティは 0 に変更されます。さらに、ButtonGroupSelectedObject プロパティ値が更新されます。

プログラムにより ToggleButtonValue プロパティを 0 に変更した場合、MATLAB®ButtonGroup に "追加された" 最初の ToggleButtonValue プロパティを 1 に設定します。追加した最初の ToggleButtonValue プロパティがプログラムにより 0 に設定されている場合、MATLAB は、ButtonGroup に追加された ToggleButtonValue プロパティを 1 に設定します。

メモ

ButtonGroup に最初に "追加" された ToggleButton が、ButtonGroupChildren プロパティの最初に "リスト" される ToggleButton とは限りません。

ボタン ラベル。文字ベクトル、文字ベクトルの cell 配列、string スカラー、string 配列、または 1 次元の categorical 配列として指定します。ボタンに 1 行のテキストのラベルを付ける場合は文字ベクトルまたは string スカラーを指定します。ボタンに複数行のテキストのラベルを付ける場合は cell 配列または string 配列を使用します。配列の各要素は、テキストの各行を表します。このプロパティを categorical 配列として指定した場合、MATLAB はカテゴリの完全なセットではなく、配列内の値を使用します。

コンポーネントの幅に合わせるための右端での折り返し。'off' または 'on'、もしくは数値または logical 0 (false) または 1 (true) として指定します。'off' の値は false と等価であり、'on'true と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

このプロパティを使用して、表示するテキストよりコンポーネントの幅が小さい場合に水平方向に切り捨てられないようにします。

  • 'off' — テキストは右端で折り返しされません。

  • 'on' — テキストを新しい行に折り返して、各行がコンポーネントの幅に収まるようにし、単語が区切られないようにします (可能な場合)。

WordWrap プロパティを 'on' に設定しても、コンポーネントの高さがテキストのすべての行を表示するには小さすぎる場合には、テキストが垂直方向に切り捨てられるのを回避できません。

事前定義されているアイコンまたはカスタム アイコン。文字ベクトル、string スカラー、または m×n×3 のトゥルーカラー イメージ配列として指定します。

事前定義されているアイコン

次の表に、事前定義されているアイコンを指定するための値を一覧します。

アイコン
'' (既定)アイコンは表示されません。
'question'

Question icon

'info'

Info icon

'success'

Success icon

'warning'

Warning icon

'error'

Error icon

カスタム アイコン

カスタム アイコンを次の値のいずれかとして指定します。

  • MATLAB パス上にある SVG、JPEG、GIF または PNG イメージのファイル名を指定する文字ベクトルまたは string スカラー。あるいは、イメージ ファイルの絶対パスを指定することもできます。

  • m×n×3 のトゥルーカラー イメージ配列。詳細については、イメージの種類を参照してください。

他のユーザーとアプリを共有する予定の場合は、アプリのパッケージ化を容易にするためにイメージ ファイルを MATLAB パス上に配置します。

Position プロパティ値で指定されたすべての領域をボタンのテキストが占有する場合、MATLAB はアイコンを表示しません。アイコンに利用可能な領域がいくらかある場合、MATLAB は必要に応じて、その領域に収まるようにイメージを縮小します。

フォントと色

すべて展開する

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

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

例: 'Arial'

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

例: 14

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

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

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

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

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

フォントの色。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

対話機能

すべて展開する

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

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

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

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

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

  • このプロパティを 'on' に設定した場合、ボタンの外観は、アプリ ユーザーがボタンを操作できることを示します。

  • このプロパティを 'off' に設定した場合、ボタンはグレー表示され、アプリ ユーザーが操作できないことを示します。

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

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

位置

すべて展開する

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

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

Position の値は、ボタン グループの "描画可能領域" を基準とした相対値です。描画可能領域は、ボタン グループの境界線の内側にある領域で、タイトルが占める領域は含まれません。

すべての測定単位はピクセルです。

ボタンの位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして指定します。すべての測定単位はピクセルです。このプロパティ値は、Position プロパティと同一です。

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

ボタンの位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして返されます。すべての測定単位はピクセルです。このプロパティ値は、Position プロパティと同一です。

アイコンとテキストの水平方向の配置。'center''left' または 'right' として指定します。この水平方向の配置は、ボタンの境界線内の領域を基準とした相対位置です。テキストがボタンの幅全体を占める場合、このプロパティを設定しても UI の外観には影響しません。

アイコンとテキストの垂直方向の配置。'center''top' または 'bottom' として指定します。この垂直方向の配置は、ボタンの境界線内の領域を基準とした相対位置です。テキストの高さがボタンの高さ全体を占める場合、このプロパティを設定しても UI の外観には影響しません。

ボタン アイコンの位置。次の表のいずれかの値として指定します。この表の例は、HorizontalAlignment 値が 'center' であるボタンにそれぞれの IconAlignment 値を指定した結果を示しています。

説明
'left'アイコンは、ボタンのテキストのすぐ左に表示されます。

Button with centered text and a green check mark icon directly to the left of the text

'right'アイコンは、ボタンのテキストのすぐ右に表示されます。

Button with centered text and a green check mark icon directly to the right of the text

'center'アイコンは、ボタンの中央、テキストの背後に表示されます。

Button with centered text and a green check mark icon centered behind the text

'leftmargin'

アイコンは、テキストの位置に関係なく、ボタンの左端に表示されます。

この値は、HorizontalAlignment の値が 'left' のときは 'left' と等価です。

Button with centered text and a green check mark icon on the far left side of the button

'rightmargin'

アイコンは、テキストの位置に関係なく、ボタンの右端に表示されます。

この値は、HorizontalAlignment の値が 'right' のときは 'right' と等価です。

Button with centered text and a green check mark icon on the far right side of the button

'top'アイコンは、ボタンのテキストのすぐ上に表示されます。

Button with centered text and a green check mark icon directly above the text

'bottom'アイコンは、ボタンのテキストのすぐ下に表示されます。

Button with centered text and a green check mark icon directly below the text

ボタンの Text プロパティが空の場合、アイコンの位置は IconAlignment プロパティではなく、HorizontalAlignment プロパティと VerticalAlignment プロパティによって決定されます。

コールバック

すべて展開する

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

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである 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 プロパティの値をチェックします。

親/子

すべて展開する

親コンテナー。ButtonGroup オブジェクトとして指定します。ButtonGroup は、関数 uifigure を使用して作成された Figure 内になければなりません。

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

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

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

識別子

すべて展開する

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

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

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

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

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

バージョン履歴

R2016a で導入

すべて展開する