ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

UI Figure のプロパティ

App Designer での UI figure の外観と動作の制御

UI figure は App Designer でアプリを作成するためのコンテナーです。プロパティが UI figure の外観と動作を制御します。ドット表記を使用して、特定のオブジェクトとプロパティを参照します。

uf = uifigure;
name = uf.Name;
uf.Name = 'My App'; 

ウィンドウの外観

すべて展開する

背景色。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'

'none'該当なし該当なし該当なし色なし

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

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

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

ウィンドウの状態。次の値のいずれかとして指定します。

  • 'normal' — ウィンドウが標準の状態で表示されます。

  • 'minimized' — ウィンドウが折りたたまれます。ただし、プロパティの取得や設定、子の追加、ウィンドウでのプロットの作成などのコマンドは引き続き実行できます。

  • 'maximized' — ウィンドウが全画面表示になります。オペレーティング システムから提供される最小化ボタン、元に戻すボタン、閉じるボタンがウィンドウの隅に表示されます。標準の状態のウィンドウにメニューがある場合、それらのメニューはこの状態でも表示されます。

  • 'fullscreen' — ウィンドウが全画面表示になります。ただし、オペレーティング システムから提供される最小化ボタン、元に戻すボタン、閉じるボタンは非表示になります。標準の状態のウィンドウにメニューがある場合、それらのメニューはこの状態でも表示されます。

オペレーティング システムから提供される最小化ボタン、元に戻すボタン、閉じるボタンをクリックすると、それに応じて WindowState プロパティが設定されます。Ctrl+F11 キー (Windows® および Linux®) または Ctrl+Command+f キー (Mac OS) を押すと、'fullscreen' の状態が切り替わります。ドッキングされた Figure、または MATLAB Online™ では、このプロパティの設定はサポートされていません。

UI figure を全画面表示状態から直接に最小化することはできません。

位置

すべて展開する

UI figure の位置とサイズ。境界とタイトル バーは除外します。[left bottom width height] の形式の 4 要素ベクトルとして指定します。

次の表で、ベクトルの各要素について説明します。

要素説明
leftプライマリ ディスプレイの左端から UI figure ウィンドウの内側左端までの距離です。この値は、複数のモニターのあるシステム上では負の値になる場合もあります。
bottomプライマリ ディスプレイの下端から UI figure ウィンドウの内側下端までの距離です。この値は、複数のモニターのあるシステム上では負の値になる場合もあります。
widthUI figure の内側の左右の端の間の距離です。
heightUI figure の内側の上下の端の間の距離です。

測定の単位。'pixels' として指定します。

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

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

サイズ変更可能な UI figure。'on' または 'off' として指定します。このプロパティが 'on' に設定されていると、UI figure はサイズ変更が可能です。そうでない場合、サイズ変更はできません。

子のサイズの自動変更。'on' または 'off' として指定します。

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

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

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

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

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

プロット

すべて展開する

UIAxes コンテンツのカラーマップ。m の個々の色を定義する RGB (赤、緑、青) 3 成分の m3 列の配列として指定します。

例: uifigure('Colormap',[1 0 1; 0 0 1; 1 1 0]) は、カラーマップを、マゼンタ、青、黄の 3 色に設定します。

MATLAB は、行番号でこれらの色にアクセスします。

座標軸のコンテンツに対する透過性マップ。等値を含む 0 から 1 までの範囲内の値のベクトルとして指定します。ベクトルのサイズは m 行 1 列または 1 行 m 列にできます。MATLAB はベクトル内のインデックスでアルファ値にアクセスします。Alphamap は、任意の長さに設定できます。

対話機能

すべて展開する

UI figure の可視性。'on' または 'off' として指定します。Visible プロパティは、画面に UI figure を表示するかどうかを決定します。Visible プロパティが 'off' に設定されている場合、UI figure 全体が非表示になります。ただし、プロパティの指定やアクセスは行うことができます。

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

メモ:

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

現在の点。2 要素ベクトルとして返されます。このベクトルには、UI figure の左下隅からピクセル単位で測定された、マウス ポインターの (x, y) 座標が含まれます。UI figure がスクロール可能な場合、座標はスクロール可能領域の左下隅から測定されます。スクロール可能領域は、スクロール バーの範囲で囲まれた領域です。

この座標は、以下のいずれかを実行すると更新されます。

  • UI figure 内でマウス ボタンを押す。

  • UI figure 内でマウス ボタンを押してから離す。

  • UI figure 内でマウス ボタンを押した後に、UI figure 外で離す。

  • UI figure 内でスクロール ホイールを回転させる。

  • WindowButtonMotionFcn プロパティが空でない場合に、Figure 内で (ボタンを押さずに) マウスを動かす。

UI figure にマウス操作に応答するコールバックがある場合、システムのコード実行速度より速くそのコールバックがトリガーされると、座標が実際のポインターの位置を正確に反映しない可能性があります。代わりに、座標はコールバックの実行開始時点の位置になります。

CurrentPoint プロパティを使用して点をプロットする場合、座標値に丸め誤差が含まれることがあります。

現在の文字。最後に押されたキーの文字として返されます。このプロパティは、ユーザーがキーを押したときに UI figure にフォーカスがあると更新されます。

マウスの選択タイプ。'normal''extend''alt'、または 'open' として返されます。このプロパティは、UI figure 内で最後に押されたマウス ボタンについての情報を提供します。

次の表は、SelectionType の取り得る値と、これらの値を生成するユーザー アクションの一覧です。

対応するアクション

'normal'

左マウス ボタンをクリック

'extend'

以下のいずれか:

  • Shift キーを押しながら左マウス ボタンをクリック

  • 中央のマウス ボタンをクリック

  • 左と右の両方のマウス ボタンをクリック

'alt'

以下のいずれか:

  • Control キーを押しながら左マウス ボタンをクリック

  • 右マウス ボタンをクリック

'open'

任意のマウス ボタンをダブルクリック

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

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

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

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

共通コールバック

すべて展開する

ボタンダウン コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

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

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

このコールバックは、ユーザーが UI figure の空白領域をクリックすると実行されます。

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

ユーザーが修飾キーを押したかどうかを判定するには、SelectionType プロパティを使用します。

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

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである 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 を使用してオブジェクトにアクセスします。

キーボード コールバック

すべて展開する

キーを押したときのコールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

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

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

このコールバック関数は、UI figure または子コンポーネントにフォーカスがあるときにユーザーがキーを押すと実行されます。コンポーネントが無効になっている場合を除き、キーボード フォーカスを受け入れるコンポーネント (編集フィールドなど) の上でキーを押しても、コールバックは実行されません。Enable または Editable プロパティを 'off' に設定すると、コンポーネントを無効にできます。

ユーザーが複数のキーをほぼ同時に押すと、MATLAB はすべてのキーを検知します。

KeyPressFcn コールバックは、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、KeyData オブジェクトのプロパティを示します。

プロパティ説明
Character

1 つ以上のキーを押した結果として表示される文字。

特定のキーを押すか、または Ctrl キーを使用して修飾キーを押すと、出力できない文字がこのプロパティに返される可能性があります。

特定のキー (CtrlAltShift など) のみを押しても、Character データは生成されません。

Modifier

押された修飾キーの名前 (controlaltshift キーなど) を含む cell 配列。押された修飾キーがない場合、この cell 配列は空になります。

Key

押されたキー。キー上の小文字のラベルか、'space' のような説明的な語によって識別されます。

Sourceキーが押されたときにフォーカスがあるオブジェクト。
EventName'KeyPress'

コールバック プロパティ値の指定とコールバック引数の使用の詳細については、App Designer でコールバックを記述するを参照してください。

CurrentCharacter プロパティは文字情報も返します。

キーを離したときのコールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

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

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

このコールバック関数は、UI figure または子コンポーネントにフォーカスがあるときにユーザーがキーを離すと実行されます。コンポーネントが無効になっている場合を除き、キーボード フォーカスを受け入れるコンポーネント (編集フィールドなど) の上でキーを離しても、コールバックは実行されません。Enable または Editable プロパティを 'off' に設定すると、コンポーネントを無効にできます。

このコールバック関数は、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、KeyData オブジェクトのプロパティを示します。

プロパティ説明
Character

離された 1 つまたは複数のキーに対応する文字。

一部のキーまたはキーの組み合わせでは、出力できない文字がこのプロパティに返される可能性があります。

特定のキー (CtrlAltShift など) のみを押してから離しても、Character データは生成されません。

Modifier

離された修飾キーの名前 (controlaltshift など) を含む cell 配列。離された修飾キーがない場合、この cell 配列は空になります。

Key

離されたキー。キー上の (小文字の) ラベルまたは 'space' などのわかりやすい単語で識別されます。

Sourceキーが離されたときにフォーカスのあるオブジェクト。
EventName'KeyRelease'

コールバック プロパティ値の指定とコールバック引数の使用の詳細については、App Designer でコールバックを記述するを参照してください。

ウィンドウのコールバック

すべて展開する

クローズ要求のコールバック。関数ハンドル、関数ハンドルと追加の引数を含む cell 配列、または文字ベクトルとして指定します。アプリ ユーザーがアプリを閉じようとすると、MATLAB はこのコールバックを実行します。たとえば、閉じる操作の確定またはキャンセルをアプリ ユーザーに要求するダイアログ ボックスを表示するように、コールバックを記述できます。

CloseRequestFcn コールバックで Figure を閉じるには、関数 delete を呼び出すことを検討します。

  • App Designer で、delete(app) を呼び出します。

  • プログラムによって作成されたアプリの場合は、delete(f) を呼び出します。ここで、fFigure オブジェクトです。

closeRequestFcn コールバックに delete コマンドが含まれない場合、MATLAB がウィンドウを閉じることはありません。関数 delete をいつでも呼び出して、ウィンドウを強制的に閉じることができます。

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

  • 関数ハンドル。

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

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

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

メモ

SizeChangedFcn コールバックは、このコンテナーの AutoResizeChildren プロパティが 'off' に設定されていない限り実行されません。App Designer で、[UI Figure プロパティ] パネルの [AutoResizeChildren] チェック ボックスをオフにすることで SizeChangedFcn 実行可能ファイルを作成できます。

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

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

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

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

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

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

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

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

ウィンドウ ボタンダウン コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

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

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

このコールバックは、ユーザーが以下をクリックすると実行されます。

  • UI figure の空白領域

  • ButtonDownFcn プロパティをサポートする UI figure 内の UI コンポーネント

  • ButtonDownFcn プロパティをサポートする UI figure 内のグラフィックス オブジェクト

たとえば、axes オブジェクトをクリックすると WindowButtonDownFcn コールバックがトリガーされます。

ButtonDownFcn プロパティがサポートされているかどうかを判断するには、特定の UI コンポーネントやグラフィックス オブジェクトのプロパティのリストを参照してください。UI コンポーネントのプロパティについては、App Designer でのアプリの設計を参照してください。グラフィックス オブジェクトのプロパティについては、グラフィックス オブジェクトのプロパティを参照してください。

メモ

uiaxes コンポーネントでは ButtonDownFcn プロパティがサポートされていませんが、ユーザーが uiaxes コンポーネントをクリックするとコールバックが実行されます。

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

ウィンドウ ボタンを移動したときのコールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

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

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

通常、ユーザーがポインターを UI figure 内で動かすと、このコールバック関数が必ず実行されます。ただし、ユーザーがマウス ボタンをクリックしたままホールドして、ポインターを UI figure の外に移動させると、ポインターが UI figure の外にある間に WindowButtonMotionFcn コールバックが実行されます。

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

ウィンドウ ボタンアップ コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

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

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

このコールバックは、ユーザーが以下を行うと実行されます。

  • UI figure の空白領域でマウス ボタンを離す

  • ButtonDownFcn プロパティをサポートする UI figure 内の UI コンポーネント上でマウス ボタンを離す

  • ButtonDownFcn プロパティをサポートする UI figure 内のグラフィックス オブジェクト上でマウス ボタンを離す

たとえば、axes オブジェクト上でマウス ボタンを離すと、WindowButtonUpFcn コールバックがトリガーされます。

ButtonDownFcn プロパティがサポートされているかどうかを判断するには、特定の UI コンポーネントやグラフィックス オブジェクトのプロパティのリストを参照してください。UI コンポーネントのプロパティについては、App Designer でのアプリの設計を参照してください。グラフィックス オブジェクトのプロパティについては、グラフィックス オブジェクトのプロパティを参照してください。

ボタンアップ アクションは、UI figure 内でのボタンダウン アクションと関連付けられています。マウス ポインターは、ボタンダウン アクションの発生時には UI figure 内になければなりませんが、ボタンアップ アクションの発生時には UI figure の外にあっても構いません。

メモ

uiaxes コンポーネントでは ButtonDownFcn プロパティがサポートされていませんが、ユーザーが uiaxes コンポーネント上でマウス ボタンを離すとコールバックが実行されます。

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

ウィンドウ キーを押したときのコールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

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

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

このコールバック関数は、UI figure または子コンポーネントにフォーカスがあるときにユーザーがキーを押すと実行されます。ユーザーが複数のキーをほぼ同時に押すと、MATLAB はすべてのキーを検知します。

このコールバック関数は、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、KeyData オブジェクトのプロパティを示します。

プロパティ説明
Character

1 つ以上のキーを押した結果として表示される文字。

特定のキーを押すか、または Ctrl キーを使用して修飾キーを押すと、出力できない文字がこのプロパティに返される可能性があります。

特定のキー (CtrlAltShift など) のみを押しても、Character データは生成されません。

Modifier

押された修飾キーの名前 (controlaltshift キーなど) を含む cell 配列。押された修飾キーがない場合、この cell 配列は空になります。

Key

押されたキー。キー上の小文字のラベルか、'space' のような説明的な語によって識別されます。

Sourceキーが押されたときにフォーカスがあるオブジェクト。
EventName'KeyPress'

コールバック プロパティ値の指定とコールバック引数の使用の詳細については、App Designer でコールバックを記述するを参照してください。

CurrentCharacter プロパティは文字情報も返します。

ウィンドウ キーを離したときのコールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

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

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

このコールバック関数は、UI figure または子コンポーネントにフォーカスがあるときにユーザーがキーを離すと実行されます。

このコールバック関数は、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、KeyData オブジェクトのプロパティを示します。

プロパティ説明
Character

離された 1 つまたは複数のキーに対応する文字。

一部のキーまたはキーの組み合わせでは、出力できない文字がこのプロパティに返される可能性があります。

特定のキー (CtrlAltShift など) のみを押してから離しても、Character データは生成されません。

Modifier

離された修飾キーの名前 (controlaltshift など) を含む cell 配列。離された修飾キーがない場合、この cell 配列は空になります。

Key

離されたキー。キー上の (小文字の) ラベルまたは 'space' などのわかりやすい単語で識別されます。

Sourceキーが離されたときにフォーカスのあるオブジェクト。
EventName'KeyRelease'

コールバック プロパティ値の指定とコールバック引数の使用の詳細については、App Designer でコールバックを記述するを参照してください。

ウィンドウ スクロール ホイール コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

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

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

このコールバックは、UI figure またはそのいずれかの子にフォーカスがあるときに、ユーザーがスクロール ホイールを動かすと実行されます。ただし、スクロール ホイールの動作が他のオブジェクトでキャプチャされ、このコールバックの実行が妨げられる場合があります。

このコールバックは、CurrentObject および SelectionType プロパティには影響しません。

このコールバックは、ユーザーがスクロール ホイールを回転させたときに特定の情報にアクセスできます。MATLAB は、この情報を ScrollWheelData オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。次の表に、ScrollWheelData オブジェクトのプロパティを示します。

プロパティ

内容

VerticalScrollCount

スクロール ホイールのクリックの方向と回数を示す正または負の数値。下にスクロールすると正の値が返されます。上にスクロールすると負の値が返されます。

垂直方向のスクロール カウントは、前回のコールバック実行後に発生したスクロール ホイールのすべてのクリック回数の合計です。通常、この値は 1 または -1 です。ただし、WindowScrollWheelFcn コールバックが値を返すまでに長い時間を要する場合、またはユーザーがスクロール ホイールを非常に高速で回転させた場合には、スクロール カウントの絶対値が大きくなる場合があります。

VerticalScrollAmount

定数値 3

Source

コールバックを実行するオブジェクト。

EventName'WindowScrollWheel'

コールバック プロパティ値の指定とコールバック引数の使用の詳細については、App Designer でコールバックを記述するを参照してください。

例: x 軸の範囲を変更するアプリ

この例では、プロットを表示するアプリの作成方法を説明します。ユーザーは、スクロールによって x 軸の範囲を変更できます。次のコードをコピーしてエディターに貼り付け、実行します。

function scroll_wheel
% Shows how to use WindowScrollWheelFcn property
%
   f = uifigure('WindowScrollWheelFcn',@figScroll,'Name','Scroll Wheel Demo');
   x = 0:.1:40;
   y = 4.*cos(x)./(x+2);
   a = axes(f); 
   h = plot(a,x,y);
   title(a,'Rotate the scroll wheel')

   function figScroll(~,event)
      if event.VerticalScrollCount > 0 
         xd = h.XData;
         inc = xd(end)/20;
         x = [0:.1:xd(end)+inc];
         re_eval(x)
      elseif event.VerticalScrollCount < 0 
         xd = h.XData;
         inc = xd(end)/20;
         % Don't let xd = 0
         x = [0:.1:xd(end)-inc+.1]; 
         re_eval(x)
      end
   end

   function re_eval(x)
      y = 4.*cos(x)./(x+2);
      h.YData = y;
      h.XData = x;
      a.XLim = [0 x(end)];
      drawnow
   end
end

コールバック実行制御

すべて展開する

コールバックの割り込み。'on' または 'off' として指定します。Interruptible プロパティは実行中のコールバックが割り込み可能かどうかを決定します。

次の 2 つのコールバックの状態について考慮する必要があります。

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

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

MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバック (がある場合) に割り込もうとします。実行中のコールバックを所有するオブジェクトの Interruptible プロパティが、割り込み可能かどうかを決定します。Interruptible プロパティは次の 2 つの値をとることができます。

  • 'on' — 他のコールバックがオブジェクトのコールバックに割り込むことを許可します。割り込みは、drawnowfigureuifiguregetframewaitforpause コマンドなどの、MATLAB が次にキューを処理するポイントで発生します。

    • 実行中のコールバックにこれらのいずれかのコマンドが含まれている場合、MATLAB はそのポイントでコールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了すると、MATLAB は実行中だったコールバックの実行を再開します。

    • 実行中のコールバックにこれらのコマンドが含まれていない場合、MATLAB はそのコールバックの実行を割り込みなしで完了します。

  • 'off' — 割り込みの試行をすべてブロックします。割り込みコールバックを所有するオブジェクトの BusyAction プロパティが、その割り込みコールバックを破棄するかキューに入れるかを決定します。

メモ

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

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

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

  • Timer オブジェクトは、Interruptible プロパティ値にかかわらず、スケジュールに従って実行されます。

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

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

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

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

MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバックに割り込もうとします。実行中のコールバックを所有するオブジェクトの Interruptible プロパティが、割り込みを許可するかどうかを決定します。割り込みが許可されない場合は、割り込みコールバックを所有するオブジェクトの BusyAction プロパティが、そのコールバックを破棄するかキューに入れるかを決定します。BusyAction プロパティは次の値を取ることができます。

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

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

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

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

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

親/子

すべて展開する

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

親オブジェクト。root オブジェクトとして返されます。

Figure オブジェクトの子。空の GraphicsPlaceholder またはコンポーネント オブジェクトの 1 次元配列として返されます。他の Figure オブジェクト以外の、あらゆるコンポーネントを子にすることができます。

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

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

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

オブジェクト ハンドルの可視性。'off' として返されます。このプロパティは、figure オブジェクトの親がもつ子のリストにおけるその Figure オブジェクトの可視性に関する情報を制御します。このプロパティ値は常に 'off' に設定されるため、Figure オブジェクトは、その親がもつ子のリストには表示されず、オブジェクト階層の検索またはオブジェクト プロパティのクエリによってオブジェクトにアクセスする関数では返されません。このような関数には gcfgetfindobjclf および close があります。

HandleVisibility プロパティが 'off' に設定されている場合でも、オブジェクトは有効です。オブジェクトにアクセスできる場合は、そのプロパティを設定および取得して、それをオブジェクトに作用する任意の関数に渡すことができます。

識別子

すべて展開する

Figure の名前。文字ベクトルまたは string スカラーとして指定します。

例: uifigure('Name','Results') は、Figure の名前を 'Results' に設定します。

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

Figure の番号。整数または空の配列として返されます。この値を使用して Figure を参照できます。たとえば、figure(2) を指定すると、Number プロパティ値 2 をもつ Figure が現在の Figure になります。

IntegerHandle プロパティが 'off' に設定されている場合、Number プロパティは空になります。

IntegerHandle'on' の場合、Number プロパティは整数です。Figure を削除すると、MATLAB はその番号を次の Figure に再利用します。

番号タイトル。'on' または 'off' として指定します。このプロパティを 'on' に設定すると、UI figure のタイトルに 'Figure n' という語句が含まれます。ここで、n は番号です。

番号をタイトルに表示するには、NumberTitle プロパティと IntegerHandle プロパティがどちらも 'on' に設定されていなければなりません。

整数ハンドルの使用。'off' または 'on' として指定します。

IntegerHandle プロパティを 'on' に設定した場合、MATLAB は既存の Figure によって使用されていない最小の整数値を探して、Number プロパティをその値に設定します。UI figure を削除した場合、MATLAB はその番号を新しい Figure で再利用できます。

IntegerHandle プロパティを 'off' に設定した場合、MATLAB はその UI figure に整数値を割り当てず、Number プロパティを空の配列に設定します。

タイトル バーに番号を表示するには、IntegerHandleNumberTitle がどちらも 'on' に設定されていなければなりません。

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

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

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

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

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

R2016a で導入