Toolbar
ツール バー UI コンポーネント

説明
ツール バー UI コンポーネントは、Figure ウィンドウの上部に水平方向のボタンのリストを表示します。Toolbar オブジェクトを使用して、ツール バーの作成後にツールバーの外観と動作を変更します。
作成
uitoolbar 関数を使用して、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" |
|
"green" | "g" | [0 1 0] | "#00FF00" |
|
"blue" | "b" | [0 0 1] | "#0000FF" |
|
"cyan" | "c" | [0 1 1] | "#00FFFF" |
|
"magenta" | "m" | [1 0 1] | "#FF00FF" |
|
"yellow" | "y" | [1 1 0] | "#FFFF00" |
|
"black" | "k" | [0 0 0] | "#000000" |
|
"white" | "w" | [1 1 1] | "#FFFFFF" |
|
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
| パレット | パレットの色 |
|---|---|
R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。 |
|
|
|
orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。
対話機能
可視性の状態。'on' または 'off' として指定するか、数値または logical の 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
'on'— オブジェクトを表示します。'off'— オブジェクトを削除せずに非表示にします。非表示の UI コンポーネントのプロパティには引き続きアクセスできます。
アプリの起動を高速化するには、起動時に表示する必要のないすべての UI コンポーネントの Visible プロパティを 'off' に設定します。
このプロパティを設定してもこのタイプのオブジェクトには影響しません。
コールバック
コンポーネント作成関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB® 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
このプロパティは、MATLAB がコンポーネントを作成するときに実行されるコールバック関数を指定します。MATLAB は CreateFcn コールバックを実行する前に、コンポーネントのすべてのプロパティ値を初期化します。CreateFcn プロパティを指定しない場合、MATLAB は既定の作成関数を実行します。
作成中のコンポーネント オブジェクトを取得するには、CreateFcn コード内で関数 gcbo を使用します。
既存のコンポーネント オブジェクトに CreateFcn プロパティを設定しても効果はありません。
コンポーネント削除関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
DeleteFcn プロパティは、MATLAB がコンポーネントを削除するときに実行されるコールバック関数を指定します (ユーザーがウィンドウを閉じるときなど)。MATLAB はコンポーネント オブジェクトのプロパティを破棄する前に DeleteFcn コールバックを実行します。DeleteFcn プロパティを指定しない場合、MATLAB は既定の削除関数を実行します。
削除中のコンポーネント オブジェクトを取得するには、DeleteFcn コード内で関数 gcbo を使用します。
コールバック実行制御
コールバックの割り込み。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。
Interruptible プロパティは実行中のコールバックが割り込み可能かどうかを決定します。次の 2 つのコールバックの状態について考慮する必要があります。
"実行中" コールバックは、現在実行しているコールバックです。
"割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。
MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバック (がある場合) に割り込もうとします。実行中のコールバックを所有するオブジェクトの Interruptible プロパティが、割り込み可能かどうかを決定します。
値が
'on'の場合、他のコールバックがオブジェクトのコールバックに割り込むことができます。drawnow、figure、getframe、waitfor、pauseなどの、MATLAB が次にキューを処理するポイントで割り込みが発生します。実行中のコールバックにこれらいずれかのコマンドが含まれている場合、MATLAB はその場所でコールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了したときに MATLAB は実行中だったコールバックの実行を再開します。
実行中のコールバックにこれらのコマンドが含まれていない場合、MATLAB はそのコールバックの実行を中断せずに終了させます。
値が
'off'の場合、割り込みの試行はすべてブロックされます。割り込みコールバックを所有するオブジェクトのBusyActionプロパティが、その割り込みコールバックを破棄するかキューに入れるかを決定します。
メモ
コールバックの割り込みと実行は、以下の状況では動作が異なります。
割り込みコールバックが
DeleteFcn、CloseRequestFcnまたはSizeChangedFcnコールバックの場合、Interruptibleプロパティの値にかかわらず割り込みが発生します。実行中のコールバックが関数
waitforを現在実行している場合、Interruptibleプロパティの値にかかわらず割り込みが発生します。Timerオブジェクトは、Interruptibleプロパティ値にかかわらず、スケジュールに従って実行されます。MATLAB は、割り込みが発生したときにプロパティの状態や表示を保存しません。たとえば、
gcaコマンドやgcfコマンドから返されたオブジェクトは、別のコールバックを実行するときに変更されている可能性があります。
Interruptible プロパティおよび BusyAction プロパティがプログラムの動作に及ぼす影響を示す例は、コールバック実行への割り込みを参照してください。
コールバック キューイング。'queue' (既定値) または 'cancel' として指定します。BusyAction プロパティは MATLAB による割り込みコールバックの実行の処理方法を決定します。次の 2 つのコールバックの状態について考慮する必要があります。
"実行中" コールバックは、現在実行しているコールバックです。
"割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。
割り込みコールバックの割り込み元の BusyAction プロパティは、MATLAB が割り込みコールバックの実行を処理する方法を決定します。BusyAction プロパティは次の値をとります。
'queue'— 割り込みコールバックをキューに入れ、実行中のコールバックが終了した後に処理されるようにします。'cancel'— 割り込みコールバックを実行しません。
MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバックに割り込もうとします。コールバックを実行中のオブジェクトの Interruptible プロパティが、割り込み可能かどうかを決定します。Interruptible は次のように設定します。
on— MATLAB が次にキューを処理するポイントで割り込みが発生します。これは既定値です。off— 割り込みコールバックを所有するオブジェクトのBusyActionプロパティによって、MATLAB が割り込みコールバックをキューに追加するか無視するかを決定します。
BusyAction プロパティおよび Interruptible プロパティがプログラムの動作に及ぼす影響を示す例は、コールバック実行への割り込みを参照してください。
この プロパティ は読み取り専用です。
削除状態。matlab.lang.OnOffSwitchState 型の on/off logical 値として返されます。
MATLAB は、DeleteFcn コールバックが実行を開始すると、BeingDeleted プロパティを 'on' に設定します。コンポーネント オブジェクトが存在しなくなるまで BeingDeleted プロパティは 'on' に設定されたままです。
クエリや変更の前にオブジェクトが削除されようとしていないか確認するために BeingDeleted プロパティの値をチェックします。
このプロパティは、このタイプのオブジェクトには影響しません。
親/子
親オブジェクト。Figure オブジェクトとして指定します。親 Figure を指定しない場合は、MATLAB で関数 figure が呼び出されて親となる Figure が作成されます。
このプロパティをターゲット Figure オブジェクトに設定することで、Toolbar オブジェクトを別の Figure に移動できます。
Toolbar の子。空の GraphicsPlaceholder またはコンポーネント オブジェクトの 1 次元配列として返されます。Toolbar オブジェクトの子は、PushTool オブジェクトおよび ToggleTool オブジェクトです。
Children プロパティを使用して子の追加や削除を行うことはできません。このプロパティは、子のリストの参照や子の並べ替えに使用します。この配列の子の順序は、ツール バーに表示されるツールの右から左への順序を反映しています。つまり、右端のツールがリストの一番上にあり、左端のツールがリストの一番下にあります。たとえば、Children プロパティによって返されるこのツールの順序は、プッシュ ツールがツール バーのトグル ツールの左側に表示されることを示します。
toolOrder = tb.Children
toolOrder = 2×1 graphics array: ToggleTool PushTool
このリストに子を追加するには、子コンポーネントの Parent プロパティを Toolbar オブジェクトに設定します。
HandleVisibility プロパティが 'off' に設定されているオブジェクトは Children プロパティにリストされません。
オブジェクト ハンドルの可視性。'on'、'callback' または 'off' として指定します。
このプロパティは、オブジェクトの親がもつ子のリストにおけるそのオブジェクトの可視性を制御します。オブジェクトがその親オブジェクトのリストで、子として可視できない場合、オブジェクト階層の検索またはプロパティのクエリによってオブジェクトを取得する関数は、そのオブジェクトを返しません。このような関数には get、findobj、gca、gcf、gco、newplot、cla、clf および close があります。HandleVisibility プロパティはまた、親 Figure の CurrentObject プロパティでオブジェクトのハンドルの可視性も制御します。オブジェクトは参照できない場合も有効です。オブジェクトにアクセスできる場合は、そのプロパティを設定および取得して、それをオブジェクトに作用する任意の関数に渡すことができます。
| HandleVisibility の値 | 説明 |
|---|---|
'on' | オブジェクト ハンドルは常に表示されます。 |
'callback' | オブジェクト ハンドルはコールバック内から、あるいはコールバックにより呼び出される関数から参照できます。しかし、コマンド ラインから呼び出される関数からは参照できません。このオプションを使用すると、コマンド ラインからのオブジェクトへのアクセスがブロックされますが、コールバック関数からはアクセスできます。 |
'off' | オブジェクト ハンドルは常に非表示です。このオプションは、他の関数による UI の意図しない変更を防止するために役立ちます。HandleVisibility を 'off' に設定すると、その関数の実行中にハンドルが一時的に非表示になります。 |
識別子
この プロパティ は読み取り専用です。
グラフィックス オブジェクトのタイプ。'uitoolbar' として返されます。
オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。オブジェクトの識別子として機能する一意の Tag 値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合、関数 findobj を使用して Tag 値に基づいてオブジェクトを検索できます。
ユーザー データ。任意の配列として指定します。UserData を指定すると、アプリ内でデータを共有するのに役立ちます。詳細については、コールバック間のデータ共有を参照してください。
例
ツール バーにおける左から右へのツールの順序を変更します。この場合、UI figure ツール バーにあるプッシュ ツールおよびトグル ツールの順序を逆にします。
UI figure を作成します。そこにツール バーを追加します。次に、ツール バーにプッシュ ツールとトグル ツールを追加します。
fig = uifigure; tb = uitoolbar(fig); pt = uipushtool(tb); tt = uitoggletool(tb);

ツール バー内にプッシュ ツールを作成します。Icon プロパティ値をイメージ ファイル matlabicon.gif に設定します。
pt.Icon = fullfile(matlabroot,'toolbox','matlab','icons','matlabicon.gif');

青色のトゥルーカラー イメージ配列を作成します。この配列に Icon プロパティの値を設定し、トグル ツールに青色の四角形のアイコンを表示させます。
ttImage = zeros(16,16,3); ttImage(:,:,3) = ones(16); tt.Icon = ttImage;

ツール バーの Children プロパティをクエリします。この配列で返される子の順序は、ツール バーに表示されるツールの右から左への順序を反映しています。トグル ツールは右端のツールで、リストの一番上 (配列の 1 番目の要素) に表示されます。
oldToolOrder = tb.Children
oldToolOrder = 2×1 graphics array: ToggleTool PushTool
関数 flipud を呼び出して、tb.Children で返される配列の要素の順序を反転させ、ツールの順序を逆にします。Children プロパティの値をこの新しいツール順序に設定します。プッシュ ツールはツール バーのトグル ツールの右側に表示されるようになりました。
newToolOrder = flipud(oldToolOrder); tb.Children = newToolOrder;

バージョン履歴
R2006a より前に導入BackgroundColor プロパティを設定して、figure 関数を使用して作成されたアプリ内のツール バーの背景色を指定します。
BackgroundColor プロパティを設定して、uifigure 関数を使用して作成されたアプリ内のツール バーの背景色を指定します。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)









