Main Content

ToolbarPushButton のプロパティ

座標軸のツール バー プッシュ ボタンの外観と動作

ToolbarPushButton プロパティは、座標軸の ToolbarPushButton オブジェクトの外観と動作を制御します。プロパティの値を変更することによって、プッシュ ボタンの特定の要素を変更できます。

tb = axtoolbar('default')
btn = axtoolbarbtn(tb,'push')
btn.Tooltip = 'My Push Button';

ボタン

すべて展開する

ボタン アイコン。次の値のいずれかとして指定します。座標軸ツール バーには、アイコンがグレースケール イメージとして表示されます。イメージが収まるように、MATLAB® は必要に応じてイメージを縮小します。

  • ファイル名 — ファイル名を文字ベクトルまたは string スカラーとして指定します。ファイル名の前にパスを指定できます。イメージ ファイルは、JPEG、GIF、PNG のいずれかの形式でなければなりません。

  • 配列 — イメージ内のピクセルを表す、RGB 3 成分からなる m×n×3 の配列を指定します。

  • 行列 — イメージ内のピクセルを表す、m 行 n 列の数値行列を指定します。

    • 値が整数型である場合は、063 の値を指定します。値 0 は不透明で、値 63 は透明です。NaN も透明です。

    • 値が double 型の場合は、164 の値を指定します。値 1 は不透明で、値 64 は透明です。NaN も透明です。

  • 事前定義されたアイコン — 次の表にある名前のいずれかを指定します。

    アイコン名結果
    'brush'

    Brush icon

    'datacursor'

    Data-cursor icon

    'export'

    Export icon

    'rotate'

    Rotate icon

    'pan'

    Pan icon

    'zoomin'

    Zoom-in icon

    'zoomout'

    Zoom-out icon

    'restoreview'

    Restore-view icon

    'none'アイコンなし

例: btn.Icon = 'icon.png'

例: btn.Icon = 'C:\Documents\icon.png'

例: btn.Icon = 'rotate'

ボタンのツール ヒント。文字ベクトル、文字ベクトルの cell 配列、または string 配列として指定します。このプロパティを使用すると、ポインターをボタンに合わせたときにメッセージが表示されます。複数行のテキストを表示するには、文字ベクトルの cell 配列または string 配列を指定します。配列の各要素は、テキストの各行を表示します。

例: btn.Tooltip = 'My Tooltip'

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

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

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

コールバック

すべて展開する

ボタンをクリックすると実行されるプッシュ ボタン コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

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

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

関数ハンドルを使用してこのプロパティを指定すると、MATLAB は、ソースの PushButton オブジェクトとイベント データ構造体を 1 番目と 2 番目の入力引数として関数に渡します。次の表は、イベント データ構造体のフィールドについて説明しています。

フィールド説明
SourcePushButton オブジェクト
Axes関連付けられた Axes オブジェクト
EventName'ButtonPushed'

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

  • 関数ハンドル。

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

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

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、グラフィックス オブジェクトのコールバックの作成を参照してください。

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

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

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

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

  • 関数ハンドル。

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

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

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、グラフィックス オブジェクトのコールバックの作成を参照してください。

このプロパティは、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 プロパティの値をチェックします。

親/子

すべて展開する

親コンテナー。AxesToolbar オブジェクトとして指定します。

このオブジェクトには子がありません。このプロパティは設定できません。

親の Children プロパティ内でのオブジェクト ハンドルの可視性。次の値のいずれかとして指定します。

  • "on" — オブジェクト ハンドルは常に表示されます。

  • "off" — オブジェクト ハンドルは常に非表示です。このオプションは、他の関数による意図しない変更を防止するために役立ちます。HandleVisibility"off" に設定すると、その関数の実行中にハンドルが一時的に非表示になります。

  • "callback" — オブジェクト ハンドルはコールバック内から、あるいはコールバックにより呼び出される関数から参照できます。しかし、コマンド ラインから呼び出される関数からは参照できません。このオプションを使用すると、コマンド ラインからのオブジェクトへのアクセスがブロックされますが、コールバック関数からのアクセスは許可されます。

オブジェクトが親の Children プロパティ内にリストされない場合、オブジェクト階層の検索またはハンドル プロパティのクエリによってオブジェクト ハンドルを取得する関数は、そのオブジェクト ハンドルを返しません。こうした関数の例としては、関数 getfindobjgcagcfgconewplotclaclf、および close などが挙げられます。

非表示のオブジェクト ハンドルは有効なままです。ルートの ShowHiddenHandles プロパティを "on" に設定すると、HandleVisibility プロパティの設定にかかわらず、すべてのオブジェクト ハンドルがリストされます。

識別子

すべて展開する

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

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

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

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

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

未使用のプロパティ

すべて展開する

このプロパティを設定してもこのタイプのオブジェクトには影響しません。

マウスクリック コールバック。関数ハンドル、cell 配列、または文字ベクトルとして指定します。

メモ

ボタンでは、このプロパティは使用されません。

バージョン履歴

R2018b で導入