Main Content

Animator のプロパティ

アニメーターの外観と動作

UIContextMenu プロパティは推奨されていません。代わりに ContextMenu を使用してください。詳細は、互換性についての考慮事項を参照してください。

Animator のプロパティは、Animator オブジェクトの外観と動作を制御します。プロパティの値を変更することで、Animator オブジェクトの一定の部分を変更できます。ドット表記を使用して、特定のオブジェクトとプロパティを参照することができます。

fp = fanimator(@(x) plot(x,sin(x),'bo'))
ls = fp.Visible
fp.Visible = 'off'

Frames

すべて展開する

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

アニメーションの時間パラメーターの範囲。2 要素の行ベクトルとして指定します。2 要素は増加する実数値でなければなりません。

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

フレーム レート。正の値で指定します。フレーム レートは、アニメーション オブジェクトの単位時間間隔あたりのフレーム数を定義します。

対話性

すべて展開する

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

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

  • 'off' — オブジェクトを削除せずに非表示にします。オブジェクトが非表示であっても、そのプロパティにはアクセスできます。

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

コールバック

すべて展開する

マウスクリック コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 関数ハンドルと追加の引数が含まれる cell 配列。

  • 有効な MATLAB® コマンドまたは関数である文字ベクトル。ベース ワークスペースで評価されます (非推奨)。

このプロパティを使用して、オブジェクトのクリック時にコードを実行します。関数ハンドルを使用してこのプロパティを指定すると、MATLAB はコールバックの実行時に 2 つの引数をコールバック関数に渡します。

  • クリックされたオブジェクト — クリックされたオブジェクトのプロパティに、コールバック関数内からアクセスします。

  • イベント データ — 空の引数です。この引数が使用されないことを示すには、関数定義においてこの引数をチルダ文字 (~) に置き換えます。

関数ハンドルを使用してコールバック関数を定義する方法の詳細については、グラフィックス オブジェクトのコールバックの作成を参照してください。

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

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである 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' として指定するか、数値または 1 (true) か 0 (false) の logical 値として指定します。値 'on'true と等価で、'off'false と等価です。したがって、このプロパティの値は logical 値として使用できます。値は、matlab.lang.OnOffSwitchState 型の on/off logical 値として保存されます。

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

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

  • "割り込み" コールバックは、実行中のコールバックへの割り込みを試みるコールバックです。

MATLAB は、コールバック キューを処理するコマンドを実行するたびに、コールバックの割り込みの動作を決定します。そのようなコマンドには、drawnowfigureuifiguregetframewaitfor、および pause があります。

実行中のコールバックにこれらのコマンドのいずれも含まれていない場合、割り込みは発生しません。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 プロパティは、以下の条件が両方とも満たされた場合にのみ、コールバックのキュー動作を決定します。

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

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

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

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

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

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

削除ステータス。matlab.lang.OnOffSwitchState 型の on/off logical 値として返されます。

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

オブジェクトがクエリまたは変更の前に削除されそうになっていないことを確認するには、BeingDeleted プロパティの値を確認します。

親/子

すべて展開する

親。Axes オブジェクトとして指定します。

子。グラフィックス オブジェクトとして返されます。このプロパティを使用してグラフィックス オブジェクトのプロパティ値を表示します。

Children プロパティを使用して子を追加または削除することはできません。Children はそれ自身の置換にのみ設定できます。

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

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

  • 'off' — オブジェクト ハンドルは常に非表示になります。このオプションは、別の関数による意図しない UI への変更の防止に役立ちます。このような関数の実行時に一時的にハンドルを非表示にするには、HandleVisibility'off' に設定します。

  • 'callback' — コールバックまたはコールバックによって起動された関数内ではオブジェクト ハンドルが表示されますが、コマンド ラインから起動された関数内では表示されません。このオプションは、コマンド ラインにおけるオブジェクトへのアクセスを阻止しますが、コールバック関数によるアクセスは許可します。

親の Children プロパティにオブジェクトがリストされていない場合、オブジェクト階層を探索するかハンドルのプロパティを問い合わせることによってオブジェクト ハンドルを取得する関数は、オブジェクト ハンドルを返すことができません。これらの関数の例には、関数 getfindobjgcagcfgconewplotclaclf、および close が含まれます。

非表示のオブジェクト ハンドルは、依然として有効です。ルートの ShowHiddenHandles プロパティを 'on' に設定すると、HandleVisibility プロパティの設定に関係なく、すべてのオブジェクト ハンドルがリストされます。

識別子

すべて展開する

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

グラフィックス オブジェクトのタイプ。'animator' として返されます。このプロパティを使用して、プロット階層内の特定のタイプのオブジェクトをすべて検出します。たとえば、関数 findobj を使用して、タイプ 'animator' のグラフィックス オブジェクトを見つけることができます。

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

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

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

バージョン履歴

R2019a で導入

すべて展開する