このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
UI Figure のプロパティ
uifigure
ベースのアプリのための UI figure の外観と動作の制御
UI figure は App Designer で、または関数 uifigure
を使用してプログラムでアプリを作成するためのコンテナーです。プロパティが UI figure の外観と動作を制御します。ドット表記を使用して、特定のオブジェクトとプロパティを参照します。
fig = uifigure; fig.Name = 'My App';
ウィンドウの外観
Color
— 背景色
RGB 3 成分 | 16 進数カラー コード | 'r'
| 'g'
| 'b'
| ...
背景色。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" |
WindowStyle
— ウィンドウ スタイル
'normal'
(既定値) | 'modal'
| 'alwaysontop'
ウィンドウ スタイル。次のいずれかとして指定します。
'normal'
— Figure ウィンドウは他のウィンドウから独立しており、この Figure の表示中に他のウィンドウにアクセスできます。'modal'
— この Figure は、通常のウィンドウ スタイルをもつ既存のすべての Figure ウィンドウの前面に表示されます。この最前面に表示された Figure が存在してモーダルな状態である限り、既存のウィンドウへのアクセスはできなくなります。ただし、モーダルな Figure の後に作成された新しい Figure は表示されます。複数のモーダルなウィンドウが存在する場合、最後に作成されたウィンドウがフォーカスされ、他のすべてのウィンドウの前面に表示されます。この状態は、不可視になるか、通常のウィンドウ スタイルに戻るか、削除されるまで継続します。継続が終了した場合、フォーカスは、最後にフォーカスされたウィンドウに戻ります。
'alwaysontop'
— この Figure は、モーダルな Figure ウィンドウや MATLAB 以外のアプリケーションのウィンドウを含む、他のすべてのウィンドウの前面に表示されます。他のウィンドウには引き続きアクセスできます。
メモ
WindowStyle
プロパティにはいくつかの重要な特徴と推奨されるベスト プラクティスがあります。
UI ウィンドウを作成するときは、常に
WindowStyle
プロパティを指定します。さらに Figure のResize
プロパティまたはPosition
プロパティも設定する場合は、WindowStyle
プロパティを最初に設定します。Figure の
WindowStyle
プロパティは、Figure が可視な場合や子オブジェクトを含む場合を含め、いつでも変更できます。ただし、一部のシステムではノーマル ウィンドウとモーダル ウィンドウの実装によっては、このプロパティを設定することで、Figure の点滅や非表示後に再表示される現象が発生する場合もあります。視覚的に最良な結果を得るには、WindowStyle
プロパティの設定は、Figure の作成時または非表示のときに行います。
UI Figure モーダル ウィンドウ スタイルの動作
WindowStyle
が 'modal'
に設定されている場合、UI Figure ウィンドウは、それより前に作成された、Visible
プロパティが 'on'
に設定されている UI Figure ウィンドウでのキーボードとマウスの操作をブロックします。たとえば、この例では Figure 3 は Figure 2 に対してモーダルであり、Figure 2 は Figure 1 に対してモーダルです。
fig1 = uifigure('Name','Figure 1'); fig1.WindowStyle = 'modal'; fig2 = uifigure('Name','Figure 2'); fig2.WindowStyle = 'modal'; fig3 = uifigure('Name','Figure 3'); fig3.WindowStyle = 'modal';
関数 figure
を使用して作成されたモーダル Figure と異なり、関数 uifigure
を使用して作成されたモーダル Figure は、関数 figure またはまたは MATLAB デスクトップを使用して作成された Figure へのアクセスをブロックしません。MATLAB 以外のアプリケーション ウィンドウの操作はブロックされません。
モーダルな Figure にフォーカスがあるときに Ctrl + C を入力すると、Figure は 'normal'
WindowStyle
プロパティ設定に戻ります。これによりユーザーはコマンド ラインに入力できます。
WindowStyle
プロパティが 'modal'
に、Visible
プロパティが 'off'
に設定された UI Figure は、MATLAB が表示しない限りモーダル動作になりません。このためモーダル ウィンドウを破棄する代わりに、後で再利用するために非表示にすることができます。
モーダルな Figure はメニューの子、組み込みのメニュー、ツール バーを表示しません。しかし、モーダルな Figure 内にメニューを作成したり、メニューの子をもつ Figure で WindowStyle
プロパティの設定を 'modal'
に変更したりするのは誤りではありません。その Menu
オブジェクトは存在し、Figure はそれを維持します。UI Figure の WindowStyle
プロパティを 'normal'
にリセットすると、そのメニューが表示されます。
WindowState
— ウィンドウの状態
'normal'
(既定値) | 'minimized'
| 'maximized'
| 'fullscreen'
ウィンドウの状態。次の値のいずれかとして指定します。
'normal'
— ウィンドウが標準の状態で表示されます。'minimized'
— ウィンドウが折りたたまれます。ただし、プロパティの取得や設定、子の追加、ウィンドウでのプロットの作成などのコマンドは引き続き実行できます。'maximized'
— ウィンドウが全画面表示になります。オペレーティング システムから提供される最小化ボタン、元に戻すボタン、閉じるボタンがウィンドウの隅に表示されます。標準の状態のウィンドウにメニューがある場合、それらのメニューはこの状態でも表示されます。'fullscreen'
— ウィンドウが全画面表示になります。ただし、オペレーティング システムから提供される最小化ボタン、元に戻すボタン、閉じるボタンは非表示になります。標準の状態のウィンドウにメニューがある場合、それらのメニューはこの状態でも表示されます。
オペレーティング システムから提供される最小化ボタン、元に戻すボタン、閉じるボタンをクリックすると、それに応じて WindowState
プロパティが設定されます。Ctrl+F11 キー (Windows® および Linux®) または Ctrl+Command+F キー (macOS) を押すと、'fullscreen'
の状態が切り替わります。ドッキングされた Figure、または MATLAB Online™ では、このプロパティの設定がサポートされていません。
UI figure を全画面表示状態から直接に最小化することはできません。
位置とサイズ
Position
— UI figure の位置とサイズ。境界とタイトル バーは除外します。
[left bottom width height]
UI figure の位置とサイズ。境界とタイトル バーは除外します。[left bottom width height]
の形式の 4 要素ベクトルとして指定します。
次の表で、ベクトルの各要素について説明します。
要素 | 説明 |
---|---|
left | プライマリ ディスプレイの左端から UI figure ウィンドウの内側左端までの距離です。この値は、複数のモニターのあるシステム上では負の値になる場合もあります。 |
bottom | プライマリ ディスプレイの下端から UI figure ウィンドウの内側下端までの距離です。この値は、複数のモニターのあるシステム上では負の値になる場合もあります。 |
width | UI figure の内側の左右の端の間の距離です。 |
height | UI figure の内側の上下の端の間の距離です。 |
Units
— 測定の単位
'pixels'
(既定値) | 'normalized'
| 'inches'
| 'centimeters'
| 'points'
| 'characters'
測定の単位。次の表のいずれかの値として指定します。
単位の値 | 説明 |
---|---|
'pixels' (既定) | ピクセル。 Windows および Macintosh システムでのピクセル単位の距離は、システムの解像度に依存しません。
Linux システムでは、ピクセルのサイズは使用しているシステムの解像度によって決まります。 |
'normalized' | これらの単位は親コンテナーを基準として正規化されます。コンテナーの左下隅が (0,0) で、右上隅が (1,1) になります。 |
'inches' | インチ。 |
'centimeters' | センチメートル。 |
'points' | ポイント。1 ポイントは 1/72 インチです。 |
'characters' | これらの単位は、グラフィックス ルート オブジェクトの既定の uicontrol フォントを基にしています。
既定の uicontrol フォントにアクセスするには、 |
MATLAB ではすべての単位を親オブジェクトの左下隅から測定します。
MATLAB のほとんどのアプリ作成機能では距離をピクセル単位で測定するため、推奨値は 'pixels'
です。
メモ
App Designer はピクセル単位のみをサポートします。App Designer で親コンテナーに対し相対的サイズをもつコンテナーを作成するには、グリッド レイアウト マネージャーを使用するか、または自動リフロー機能付きのアプリを作成します。詳細については、App Designer でのサイズ変更可能アプリの管理を参照してください。
このプロパティは Position
プロパティに影響します。Units
プロパティを変更した場合、この既定値を想定する他の関数に影響を与えないように、計算の完了後に値を既定値に戻すことを検討してください。
Units
プロパティと Position
プロパティを指定する順序は次のように影響します。
Position
プロパティの前にUnits
プロパティを指定する場合、MATLAB は指定した単位を使用してPosition
を設定します。Position
プロパティの後にUnits
プロパティを指定する場合、MATLAB は既定のUnits
を使用して位置を設定します。その後、MATLAB はPosition
の値を、指定した単位における等価の値に変換します。
InnerPosition
— UI figure の位置とサイズ。境界とタイトル バーは除外します。
[left bottom width height]
UI figure の位置とサイズ。境界とタイトル バーは除外します。[left bottom width height]
の形式の 4 要素ベクトルとして指定します。すべての測定値は、Units
プロパティで指定した単位で表されます。
このプロパティ値は、Position
プロパティ値と同一です。
Resize
— サイズ変更可能
'on'
(既定値) | on/off logical 値
サイズ変更可能な UI figure。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
このプロパティが 'on'
に設定されていると、UI figure はサイズ変更が可能です。そうでない場合、サイズ変更はできません。
AutoResizeChildren
— 子のサイズの自動変更
'on'
(既定値) | on/off logical 値
子のサイズの自動変更。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
'on'
— コンテナーのサイズが変更されると、子コンポーネントのサイズが自動的に変更されます。'off'
— 子コンポーネントのサイズは変更されません。
AutoResizeChildren
プロパティはコンテナーの直接の子に影響します。入れ子にされたコンテナー内の子には影響しません。
AutoResizeChildren
が 'on'
の場合でも、一部の子コンポーネントのサイズは自動的に変更されません。たとえば、サイズ変更されないコンポーネントのみを含むラベル、ボタン、およびコンテナーのサイズは変更されません。
サイズ変更の動作をカスタマイズするには、グリッド レイアウト マネージャーをコンテナーに追加するか、AutoResizeChildren
プロパティを 'off'
に設定して、コンテナーの SizeChangedFcn
コールバックを作成します。詳細については、App Designer でのサイズ変更可能アプリの管理を参照してください。
アプリのサイズ変更を無効にするには、Figure の Resize
プロパティを 'off'
に設定します。
AutoResizeChildren
を 'on'
として指定するのは、ピクセル単位を使用してレイアウトされるアプリのみにすることをお勧めします。ピクセル単位以外を使用してレイアウトされるアプリで自動サイズ変更を有効にすると、予期しない動作が生じる可能性があります。
プロット
Colormap
— UIAxes
コンテンツのカラーマップ
parula (既定値) | m
行 3
列の RGB 3 成分配列
UIAxes
コンテンツのカラーマップ。m
の個々の色を定義する RGB (赤、緑、青) 3 成分の m
行 3
列の配列として指定します。
例: uifigure('Colormap',[1 0 1; 0 0 1; 1 1 0])
は、カラーマップを、マゼンタ、青、黄の 3 色に設定します。
MATLAB は、行番号でこれらの色にアクセスします。
Alphamap
— 座標軸コンテンツに対する透過性マップ
0
から 1
までの範囲内の 64 個の値のベクトル (既定値) | 0
~ 1
の間の値のベクトル
座標軸のコンテンツに対する透過性マップ。等値を含む 0
から 1
までの範囲内の値のベクトルとして指定します。ベクトルのサイズは m 行 1 列または 1 行 m 列にできます。MATLAB はベクトル内のインデックスでアルファ値にアクセスします。Alphamap は、任意の長さに設定できます。
マウス ポインター
Pointer
— ポインター シンボル
'arrow'
(既定値) | 'ibeam'
| 'crosshair'
| 'watch'
| 'topl'
| 'custom'
| ...
ポインター シンボル。次の表の値のいずれかまたは 'custom'
として指定します。シンボルの外観はオペレーティングシステムによって異なります。
値 | 結果のシンボル (システム依存) |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
カスタム ポインター シンボル
カスタム ポインター シンボルを作成するには、プログラムにより Pointer
プロパティを 'custom'
に設定し、PointerShapeCData
プロパティを使用してシンボルを定義します。詳細については、PointerShapeCData
プロパティを参照してください。
制限
Pointer
プロパティで指定されるポインター シンボルは、関数 uihtml
で作成された HTML UI コンポーネントに表示されません。
PointerShapeCData
— カスタム ポインター シンボル
16 行 16 列の行列 (既定値) | 32 行 32 列の行列
カスタム ポインター シンボル。16 行 16 列の行列 (16 x 16 ピクセルのポインター) または 32 行 32 列の行列 (32 x 32 ピクセルのポインター) として指定します。Figure は、Pointer
プロパティが 'custom'
に設定されている場合にこのポインター シンボルを使用します。
行列の各要素が、ポインター内の 1 ピクセルの明度を定義します。要素は次の値のいずれかになります。
1
— 黒のピクセル。2
— 白のピクセル。NaN
— 透明なピクセル。下の画面をそのまま表示します。
行例の要素 (1,1)
が、ポインターの左上隅のピクセルに対応します。
PointerShapeHotSpot
— ポインターのアクティブなピクセル
[1 1]
(既定値) | 2 要素ベクトル
ポインターのアクティブなピクセル。2 要素ベクトルとして指定します。このベクトルには、目的のアクティブなピクセルに対応する PointerShapeCData
行列の特定要素の行と列のインデックスが含まれます。既定値 [1 1]
は、ポインターの左上隅のピクセルに対応します。
PointerShapeCData
行列の範囲外の値を指定すると、ポインターは、代わりに既定のアクティブなピクセル [1 1]
を使用します。
このプロパティは、Pointer
プロパティが 'custom'
に設定されている場合にのみ適用されます。
対話機能
Visible
— 可視性の状態
'on'
(既定値) | on/off logical 値
可視性の状態。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
'on'
— オブジェクトを表示します。'off'
— オブジェクトを削除せずに非表示にします。非表示の UI コンポーネントのプロパティには引き続きアクセスできます。
アプリの起動を高速化するには、起動時に表示する必要のないすべてのコンポーネントの Visible
プロパティを 'off'
に設定します。
非表示のコンテナーのサイズを変更した場合、そのコンテナーが表示されるときに SizeChangedFcn
コールバックがトリガーされます。
コンテナーの Visible
プロパティを変更しても、子コンポーネントの Visible
プロパティの値は "変更されません"。これは、コンテナーを非表示にするとその子コンポーネントも非表示になる場合にも当てはまります。
CurrentAxes
— 現在の UI figure のターゲット座標軸
UIAxes
オブジェクト | Axes
オブジェクト | PolarAxes
オブジェクト | グラフィックス オブジェクト
現在の UI figure のターゲットの座標軸。UIAxes
オブジェクト、Axes
オブジェクト、PolarAxes
オブジェクト、または HeatmapChart
などのグラフィックス オブジェクトとして指定します。
axes オブジェクトの子オブジェクトが存在するすべての UI figure には、常に現在の座標軸があります。現在の座標軸は、最上層の座標軸でなくてもかまいません。また、ある座標軸を現在の座標軸に設定しても、他のすべての座標軸より上位に再スタックされることはありません。UI figure に座標軸が含まれていない場合、get(gcf,'CurrentAxes')
コマンドは空の配列を返します。
座標軸が存在しない場合に座標軸の作成を強制せずに現在の axes オブジェクトを取得するには、CurrentAxes
プロパティをクエリします。
CurrentObject
— 現在のオブジェクト
空の GraphicsPlaceholder
配列 (既定値) | UI figure の子オブジェクト
現在のオブジェクト。UI figure の子オブジェクトとして返されます。MATLAB は CurrentObject
プロパティを UI figure 内でクリックした最後のオブジェクトに設定します。
HandleVisibility
プロパティが 'off'
であるオブジェクトをクリックすると、CurrentObject
プロパティが空の GraphicsPlaceholder
配列に設定されます。
CurrentPoint
— 現在の点
2 要素ベクトル
現在の点。2 要素ベクトルとして返されます。このベクトルには、UI figure の左下隅から測定したマウス ポインターの (x, y) 座標が含まれます。値は、Units
プロパティで指定した単位で表されます。UI figure がスクロール可能な場合、座標はスクロール可能領域の左下隅から測定されます。スクロール可能領域は、スクロール バーの範囲で囲まれた領域です。
この座標は、以下のいずれかを実行すると更新されます。
UI figure 内でマウス ボタンを押す。
UI figure 内でマウス ボタンを押してから離す。
UI figure 内でマウス ボタンを押した後に、UI figure 外で離す。
UI figure 内でスクロール ホイールを回転させる。
WindowButtonMotionFcn
プロパティが空でない限り、Figure 内で (ボタンを押さずに) マウスを動かす。
UI figure にマウス操作に応答するコールバックがある場合、システムのコード実行速度より速くそのコールバックがトリガーされると、座標が実際のポインターの位置を正確に反映しない可能性があります。代わりに、座標はコールバックの実行開始時点の位置になります。
CurrentPoint
プロパティを使用して点をプロットする場合、座標値に丸め誤差が含まれることがあります。
CurrentCharacter
— 現在の文字
''
(既定値) | 文字
現在の文字。最後に押されたキーの文字として返されます。このプロパティは、ユーザーがキーを押したときに UI figure にフォーカスがあると更新されます。
SelectionType
— マウスの選択タイプ
'normal'
(既定値) | 'extend'
| 'alt'
| 'open'
マウスの選択タイプ。'normal'
、'extend'
、'alt'
、または 'open'
として返されます。このプロパティは、UI figure 内で最後に押されたマウス ボタンについての情報を提供します。
次の表は、SelectionType
の取り得る値と、これらの値を生成するユーザー アクションの一覧です。
値 | 対応するアクション |
---|---|
| 左マウス ボタンをクリック |
| 以下のいずれか:
|
| 以下のいずれか:
|
| 任意のマウス ボタンをダブルクリック |
Scrollable
— スクロール機能
'off'
(既定値) | on/off logical 値
スクロール機能。'off'
または 'on'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
このプロパティを 'on'
に設定すると、コンテナー内でのスクロールが有効になります。ただし、以下の追加要件があります。
コンテナー内の子コンポーネントは、コンテナーが一度に表示できるよりも大きい領域を占めていなければならない。
コンテナーに収まらないコンポーネントは、コンテナーより上または右になければならない。コンテナーより下または左にあるコンポーネントにスクロールすることはできません。
コンテナーにグリッド レイアウト マネージャーが含まれている場合、コンテナーの
Scrollable
プロパティには何の効果もありません。スクロールを有効にするには、代わりにGridLayout
オブジェクトのScrollable
プロパティを'on'
に設定します。
特定のタイプのチャートと座標軸では、スクロール可能なコンテナーはサポートされていません。ただし、チャートや座標軸をスクロール不可能なパネル内に配置してから、そのパネルをスクロール可能なコンテナーに配置することはできます。詳細については、App Designer でのグラフィックスの表示を参照してください。
ContextMenu
— コンテキスト メニュー
空の GraphicsPlaceholder
配列 (既定値) | ContextMenu
オブジェクト
コンテキスト メニュー。関数 uicontextmenu
で作成された ContextMenu
オブジェクトとして指定します。このプロパティは、UI figure を右クリックしたときにコンテキスト メニューを表示するために使用します。
共通コールバック
ButtonDownFcn
— ボタンダウン コールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ボタンダウン コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、ユーザーが UI figure の空白領域をクリックすると実行されます。
コールバックのプロパティ値を関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
ユーザーが修飾キーを押したかどうかを判定するには、SelectionType
プロパティを使用します。
CreateFcn
— 作成関数
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
オブジェクト作成関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。
このプロパティは、MATLAB がオブジェクトを作成するときに実行されるコールバック関数を指定します。MATLAB は CreateFcn
コールバックを実行する前に、すべてのプロパティ値を初期化します。CreateFcn
プロパティを指定しない場合、MATLAB は既定の作成関数を実行します。
既存のコンポーネントに CreateFcn
プロパティを設定しても効果はありません。
このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、作成中のオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo
を使用してオブジェクトにアクセスします。
DeleteFcn
— 削除関数
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
オブジェクト削除関数。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックを参照してください。
このプロパティは、MATLAB がオブジェクトを削除するときに実行されるコールバック関数を指定します。MATLAB は、オブジェクトのプロパティを破棄する前に DeleteFcn
コールバックを実行します。DeleteFcn
プロパティを指定しない場合、MATLAB は既定の削除関数を実行します。
このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、削除されるオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo
を使用してオブジェクトにアクセスします。
キーボード コールバック
KeyPressFcn
— キーを押したときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
キーを押したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、UI figure または子コンポーネントにフォーカスがあるときにユーザーがキーを押すと実行されます。コンポーネントが無効になっている場合を除き、キーボード フォーカスを受け入れるコンポーネント (編集フィールドなど) の上でキーを押しても、コールバックは実行されません。Enable
または Editable
プロパティを 'off'
に設定すると、コンポーネントを無効にできます。また、Enable
プロパティを 'inactive'
に設定すると、Table
コンポーネントをグレー表示せずに無効にできます。
ユーザーが複数のキーをほぼ同時に押すと、MATLAB はすべてのキーを検知します。
KeyPressFcn
コールバックは、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData
オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、KeyData
オブジェクトのプロパティを示します。
プロパティ | 説明 | 例: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 1 つ以上のキーを押した結果として表示される文字。 特定のキー (Ctrl、Alt、Shift など) のみを押しても、 | 'a' | '=' | '' | 'A' |
Modifier | 押された修飾キーの名前 ( | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 押されたキー。キー上の小文字のラベル ( | 'a' | 'equal' | 'shift' | 'a' |
Source | キーが押されたときにフォーカスがあるオブジェクト。 | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト |
EventName | コールバック関数を実行する原因となったアクションです。 | 'KeyPress' | 'KeyPress' | 'KeyPress' | 'KeyPress' |
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
CurrentCharacter
プロパティは文字情報も返します。
KeyReleaseFcn
— キーを離したときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
キーを離したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、UI figure または子コンポーネントにフォーカスがあるときにユーザーがキーを離すと実行されます。コンポーネントが無効になっている場合を除き、キーボード フォーカスを受け入れるコンポーネント (編集フィールドなど) の上でキーを離しても、コールバックは実行されません。Enable
または Editable
プロパティを 'off'
に設定すると、コンポーネントを無効にできます。また、Enable
プロパティを 'inactive'
に設定すると、Table
コンポーネントをグレー表示せずに無効にできます。
このコールバック関数は、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData
オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、KeyData
オブジェクトのプロパティを示します。
プロパティ | 説明 | 例: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 離された 1 つ以上のキーに対応する文字。 特定のキー (Ctrl、Alt、Shift など) のみを押してから離しても、 | 'a' | '=' | '' | 'A' |
Modifier | 押された修飾キーの名前 ( | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 離されたキー。キー上の小文字のラベル ( | 'a' | 'equal' | 'shift' | 'a' |
Source | キーが離されたときにフォーカスがあるオブジェクト。 | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト |
EventName | コールバック関数を実行する原因となったアクションです。 | 'KeyRelease' | 'KeyRelease' | 'KeyRelease' | 'KeyRelease' |
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
ウィンドウのコールバック
CloseRequestFcn
— クローズ要求のコールバック
'closereq'
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
クローズ要求のコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
コールバックのプロパティ値を関数ハンドル、cell 配列または文字ベクトルとして指定する方法の詳細については、コールバック関数の指定を参照してください。
アプリ ユーザーがアプリを閉じようとすると、MATLAB はこのコールバックを実行します。たとえば、閉じる操作の確定またはキャンセルをアプリ ユーザーに要求するダイアログ ボックスを表示するように、コールバックを記述できます。
CloseRequestFcn
コールバックの既定値の 'closereq'
は、Figure を無条件で削除し、ウィンドウを破棄します。
CloseRequestFcn
コールバックで Figure
を閉じるには、関数 delete
を呼び出すことを検討します。
App Designer で、
delete(app)
を呼び出します。プログラムによって作成されたアプリの場合は、
delete(f)
を呼び出します。ここで、f
はFigure
オブジェクトです。
CloseRequestFcn
コールバックに delete
コマンドが含まれない場合、MATLAB がウィンドウを閉じることはありません。関数 delete
をいつでも呼び出して、ウィンドウを強制的に閉じることができます。
例: ダイアログ ボックスを表示する CloseRequestFcn
のコーディング
この例では、閉じる操作の確認をユーザーに求める確認ダイアログ ボックスを表示するようにクローズ要求関数をコーディングする方法について説明します。次のコードをシステムの書き込み可能なフォルダーに保存します。
function myCloseReq(src,event) selection = uiconfirm(src,'Close this figure?',... 'Confirm Close'); switch selection case 'OK' delete(src) case 'Cancel' return end end
次に、Figure を作成し、myCloseReq
を CloseRequestFcn
に指定します。関数ハンドルは入力引数を明示的に参照しませんが、関数宣言には 2 つの入力引数が含まれることに注意してください。MATLAB では、コールバックの実行時にこれらの引数が自動的に渡されます。最初の引数はコールバックをトリガーした UI コンポーネントで、2 番目の引数はコールバック関数にイベント データを提供します。
uifigure('CloseRequestFcn',@myCloseReq);
Figure ウィンドウを閉じると確認のダイアログ ボックスが表示されます。
SizeChangedFcn
— サイズ変更のコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
サイズ変更のコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数を定義して、このコンテナーのサイズが変更されたときに (ユーザーがウィンドウのサイズを変更した場合など)、アプリのレイアウトをカスタマイズします。ここで、子コンポーネントの Position
プロパティを調整するコードを記述します。
メモ
SizeChangedFcn
コールバックは、このコンテナーの AutoResizeChildren
プロパティが 'off'
に設定されていない限り実行されません。App Designer で、コンテナーを選択し、[コンポーネント ブラウザー] のコンポーネントのタブで [AutoResizeChildren] チェック ボックスをオフにすると、SizeChangedFcn
を実行可能にできます。
SizeChangedFcn
コールバックは、次の場合に実行されます。
このコンテナーがはじめて表示される。
このコンテナーがサイズ変更中に表示される。
このコンテナーがサイズ変更後にはじめて表示される。この状況は、コンテナーが非表示の間にサイズが変更され、その後表示される場合に発生します。
SizeChangedFcn
コールバックを定義するときに検討しなければならないその他の重要な点は、次のとおりです。
SizeChangedFcn
が使用する変数がすべて定義されるまで、このコンテナーの表示を遅延させることを検討します。これにより、SizeChangedFcn
コールバックがエラーを返すのを防ぐことができます。コンテナーの表示を遅延させるには、Visible
プロパティを'off'
に設定します。SizeChangedFcn
コールバックが使用する変数を定義した後で、Visible
プロパティを'on'
に設定します。入れ子にされたコンテナーがアプリに含まれる場合、コンテナーのサイズは内側から順に変更されます。
サイズを変更しているコンテナーに
SizeChangedFcn
内からアクセスするには、ソース オブジェクト (コールバック内の最初の入力引数) を参照するか、関数gcbo
を使用します。
サイズ変更動作を指定する別の方法は、GridLayout
オブジェクトを作成するか、App Designer で自動リフロー オプションを使用することです。これらのオプションは SizeChangedFcn
コールバックより使いやすくなっています。ただし、SizeChangedFcn
コールバックにはこれらのオプションに勝る利点があります。以下に例を示します。
定義する最小サイズまでまたは最大サイズまでの、コンポーネントのサイズ変更。
非線形のサイズ変更動作の実装。たとえば、親コンテナーのサイズに基づいてコンポーネントのサイズを変更するなど。
WindowButtonDownFcn
— ウィンドウ ボタンダウン コールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ウィンドウ ボタンダウン コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、ユーザーが以下をクリックすると実行されます。
UI figure の空白領域。
UI figure 内の UI コンポーネント。
ButtonDownFcn
プロパティをサポートする UI figure 内のグラフィックス オブジェクト。
たとえば、axes
オブジェクトをクリックすると WindowButtonDownFcn
コールバックがトリガーされます。
ユーザーが UITable
コンポーネントをクリックした場合、Enable
プロパティが 'off'
または 'inactive'
に設定されていない限りコールバックは実行されません。
ButtonDownFcn
プロパティがサポートされているかどうかを判断するには、特定のグラフィックス オブジェクトのプロパティのリストを参照してください。グラフィックス オブジェクトのプロパティについては、グラフィックス オブジェクトのプロパティを参照してください。
メモ
uiaxes
コンポーネントでは ButtonDownFcn
プロパティがサポートされていませんが、ユーザーが uiaxes
コンポーネントをクリックするとコールバックが実行されます。
コールバックのプロパティ値を関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
WindowButtonMotionFcn
— ウィンドウ ボタンを移動したときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ウィンドウ ボタンを移動したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
通常、ユーザーがポインターを UI figure 内で動かすと、このコールバック関数が必ず実行されます。ただし、ユーザーがマウス ボタンをクリックしたままホールドして、ポインターを UI figure の外に移動させると、ポインターが UI figure の外にある間に WindowButtonMotionFcn
コールバックが実行されます。
コールバックのプロパティ値を関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
WindowButtonUpFcn
— ウィンドウ ボタンアップ コールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ウィンドウ ボタンアップ コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、ユーザーが以下を行うと実行されます。
UI figure の空白領域でマウス ボタンを離す。
UI figure 内の UI コンポーネント上でマウス ボタンを離す。
ButtonDownFcn
プロパティをサポートする UI figure 内のグラフィックス オブジェクト上でマウス ボタンを離す。
たとえば、axes
オブジェクト上でマウス ボタンを離すと、WindowButtonUpFcn
コールバックがトリガーされます。
ユーザーが UITable
コンポーネント上でマウス ボタンを離した場合、Enable
プロパティが 'off'
または 'inactive'
に設定されていない限りコールバックは実行されません。
ButtonDownFcn
プロパティがサポートされているかどうかを判断するには、特定のグラフィックス オブジェクトのプロパティのリストを参照してください。グラフィックス オブジェクトのプロパティについては、グラフィックス オブジェクトのプロパティを参照してください。
ボタンアップ アクションは、UI figure 内でのボタンダウン アクションと関連付けられています。マウス ポインターは、ボタンダウン アクションの発生時には UI figure 内になければなりませんが、ボタンアップ アクションの発生時には UI figure の外にあっても構いません。
メモ
uiaxes
コンポーネントでは ButtonDownFcn
プロパティがサポートされていませんが、ユーザーが uiaxes
コンポーネント上でマウス ボタンを離すとコールバックが実行されます。
コールバックのプロパティ値を関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
WindowKeyPressFcn
— ウィンドウ キーを押したときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ウィンドウ キーを押したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、UI figure または子コンポーネントにフォーカスがあるときにユーザーがキーを押すと実行されます。ユーザーが複数のキーをほぼ同時に押すと、MATLAB はすべてのキーを検知します。
このコールバック関数は、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData
オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、KeyData
オブジェクトのプロパティを示します。
プロパティ | 説明 | 例: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 1 つ以上のキーを押した結果として表示される文字。 特定のキー (Ctrl、Alt、Shift など) のみを押しても、 | 'a' | '=' | '' | 'A' |
Modifier | 押された修飾キーの名前 ( | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 押されたキー。キー上の小文字のラベル ( | 'a' | 'equal' | 'shift' | 'a' |
Source | キーが押されたときにフォーカスがあるオブジェクト。 | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト |
EventName | コールバック関数を実行する原因となったアクションです。 | 'WindowKeyPress' | 'WindowKeyPress' | 'WindowKeyPress' | 'WindowKeyPress' |
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
CurrentCharacter
プロパティは文字情報も返します。
WindowKeyReleaseFcn
— ウィンドウ キーを離したときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ウィンドウ キーを離したときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、UI figure または子コンポーネントにフォーカスがあるときにユーザーがキーを離すと実行されます。
このコールバック関数は、ユーザーのキーボード操作に関する特定の情報にアクセスできます。MATLAB は、この情報を KeyData
オブジェクトに格納し、2 番目の引数としてコールバック関数に渡します。次の表に、KeyData
オブジェクトのプロパティを示します。
プロパティ | 説明 | 例: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 離された 1 つ以上のキーに対応する文字。 特定のキー (Ctrl、Alt、Shift など) のみを押してから離しても、 | 'a' | '=' | '' | 'A' |
Modifier | 押された修飾キーの名前 ( | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 離されたキー。キー上の小文字のラベル ( | 'a' | 'equal' | 'shift' | 'a' |
Source | キーが離されたときにフォーカスがあるオブジェクト。 | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト | Figure オブジェクト |
EventName | コールバック関数を実行する原因となったアクションです。 | 'WindowKeyRelease' | 'WindowKeyRelease' | 'WindowKeyRelease' | 'WindowKeyRelease' |
コールバック プロパティ値の指定とコールバック引数の使用の詳細については、App Designer のコールバックまたはプログラムで作成したアプリ用のコールバックの作成を参照してください。
WindowScrollWheelFcn
— ウィンドウ スクロール ホイール コールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ウィンドウ スクロール ホイール コールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバックは、UI figure またはそのいずれかの子にフォーカスがあるときに、ユーザーがスクロール ホイールを動かすと実行されます。ただし、スクロール ホイールの動作が他のオブジェクトでキャプチャされ、このコールバックの実行が妨げられる場合があります。
このコールバックは、CurrentObject
および SelectionType
プロパティには影響しません。
このコールバックは、ユーザーがスクロール ホイールを回転させたときに特定の情報にアクセスできます。MATLAB は、この情報を ScrollWheelData
オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。次の表に、ScrollWheelData
オブジェクトのプロパティを示します。
プロパティ | 内容 |
---|---|
VerticalScrollCount | スクロール ホイールのクリックの方向と回数を示す正または負の数値。下にスクロールすると正の値が返されます。上にスクロールすると負の値が返されます。 垂直方向のスクロール カウントは、前回のコールバック実行後に発生したスクロール ホイールのすべてのクリック回数の合計です。通常、この値は |
VerticalScrollAmount | 定数値 |
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
figScroll
の関数ハンドルは入力引数を明示的に参照しませんが、関数宣言には 2 つの入力引数が含まれることに注意してください。MATLAB では、コールバックの実行時にこれらの引数が自動的に渡されます。最初の引数はコールバックをトリガーした UI コンポーネントで、2 番目の引数はコールバック関数にイベント データを提供します。
コールバック実行制御
Interruptible
— コールバックの割り込み
'on'
(既定値) | on/off logical 値
コールバックの割り込み。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
このプロパティは実行中のコールバックが割り込み可能かどうかを決定します。次の 2 つのコールバックの状態について考慮する必要があります。
"実行中" コールバックは、現在実行しているコールバックです。
"割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。
MATLAB は、コールバック キューを処理するコマンドを実行するたびにコールバックの割り込み動作を判別します。これらのコマンドには、drawnow
、figure
、uifigure
、getframe
、waitfor
、pause
があります。
実行中コールバックにこれらのコマンドが含まれていない場合、割り込みは発生しません。MATLAB は、実行中コールバックの実行を先に終了させ、その後に割り込みコールバックを実行します。
実行中コールバックにこれらのいずれかのコマンドが含まれている場合、実行中コールバックを所有するオブジェクトの Interruptible
プロパティに応じて割り込みが発生するかどうかが決まります。
Interruptible
の値が'off'
の場合、割り込みは発生しません。代わりに、割り込みコールバックを所有するオブジェクトのBusyAction
プロパティに応じて、割り込みコールバックが破棄されるかコールバック キューに追加されるかが決まります。Interruptible
の値が'on'
の場合、割り込みが発生します。MATLAB は、コールバック キューの次回処理時に、実行中コールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了した後、MATLAB は実行中だったコールバックの実行を再開します。
メモ
コールバックの割り込みと実行は、以下の状況では動作が異なります。
割り込みコールバックが
DeleteFcn
、CloseRequestFcn
またはSizeChangedFcn
コールバックの場合、Interruptible
プロパティの値にかかわらず割り込みが発生します。実行中のコールバックが関数
waitfor
を現在実行している場合、Interruptible
プロパティの値にかかわらず割り込みが発生します。割り込みコールバックが
Timer
オブジェクトで所有されている場合、Interruptible
プロパティの値にかかわらずスケジュールに従ってコールバックが実行されます。
BusyAction
— コールバック キューイング
'queue'
(既定値) | 'cancel'
コールバック キューイング。'queue'
または 'cancel'
として指定します。BusyAction
プロパティは MATLAB による割り込みコールバックの実行の処理方法を決定します。次の 2 つのコールバックの状態について考慮する必要があります。
"実行中" コールバックは、現在実行しているコールバックです。
"割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。
BusyAction
プロパティによってコールバック キューイングの動作が決まるのは、次の両方の条件を満たす場合のみです。
これらの条件に当てはまる場合、割り込みコールバックを所有するオブジェクトの BusyAction
プロパティに応じて MATLAB による割り込みコールバックの処理方法が決まります。BusyAction
プロパティは次の値を取ることができます。
'queue'
— 割り込みコールバックをキューに入れ、実行中のコールバックが終了した後に処理されるようにします。'cancel'
— 割り込みコールバックを実行しません。
BeingDeleted
— 削除状態
on/off logical 値
この プロパティ は読み取り専用です。
削除状態。matlab.lang.OnOffSwitchState
型の on/off logical 値として返されます。
MATLAB は、DeleteFcn
コールバックが実行を開始すると、BeingDeleted
プロパティを 'on'
に設定します。コンポーネント オブジェクトが存在しなくなるまで BeingDeleted
プロパティは 'on'
に設定されたままです。
クエリや変更の前にオブジェクトが削除されようとしていないか確認するために BeingDeleted
プロパティの値をチェックします。
親/子
Parent
— 親オブジェクト
root オブジェクト
この プロパティ は読み取り専用です。
親オブジェクト。root オブジェクトとして返されます。
Children
— Figure
オブジェクトの子
空の GraphicsPlaceholder
配列 (既定値) | コンポーネント オブジェクトの 1 次元配列
Figure
オブジェクトの子。空の GraphicsPlaceholder
またはコンポーネント オブジェクトの 1 次元配列として返されます。他の Figure
オブジェクト以外の、あらゆるコンポーネントを子にすることができます。
Children
プロパティを使用して、子コンポーネントの追加や削除を行うことはできません。このプロパティは、子のリストの参照や子の並べ替えに使用します。この配列内の子の順序は、画面上のコンポーネントの前から後ろへの順序 (重なり順序) を反映します。
このリストに子を追加するには、子コンポーネントの Parent
プロパティをこの Figure
オブジェクトに設定します。
HandleVisibility
— オブジェクト ハンドルの可視性
'off'
(既定値) | 'callback'
| 'on'
オブジェクト ハンドルの可視性。'off'
、'callback'
または 'on'
として指定します。このプロパティは、figure オブジェクトの親がもつ子のリストにおけるその Figure
オブジェクトの可視性に関する情報を制御します。既定値は 'off'
に設定され、Figure
オブジェクトが現在の Figure (gcf
) になるのを抑止し、関数が UI に不必要な変更を行わないようにします。
次の表では、それぞれの値を設定する効果について説明します。
HandleVisibility の値 | 説明 |
---|---|
'off' |
このオプションは、コールバック関数やコマンド ラインから呼び出される関数がオブジェクトをターゲットとし、UI に不必要な変更を行うのを抑止します。 |
'callback' |
このオプションを使用すると、コマンド ラインからのオブジェクトへのアクセスがブロックされますが、コールバック関数からはアクセスできます。 |
'on' |
|
HandleVisibility
プロパティが 'off'
に設定されている場合でも、オブジェクトは有効です。オブジェクトにアクセスできる場合は、そのプロパティを設定および取得して、それをオブジェクトに作用する任意の関数に渡すことができます。
識別子
Name
— 名前
''
(既定値) | 文字ベクトル | string スカラー
Figure の名前。文字ベクトルまたは string スカラーとして指定します。
例: uifigure('Name','Results')
は、Figure の名前を 'Results'
に設定します。
App Designer では、Name
プロパティの既定値は 'MATLAB App'
です。
Icon
— アイコンのソースまたはファイル
''
(既定値) | 文字ベクトル | string スカラー | m
×n
×3 のトゥルーカラー イメージ配列
アイコンのソースまたはファイル。文字ベクトル、string スカラー、または m
×n
×3 のトゥルーカラー イメージ配列として指定します。ファイル名には、MATLAB パス上のイメージ ファイル名、あるいはイメージ ファイルへの絶対パスを指定できます。他のユーザーとアプリを共有する予定の場合は、アプリのパッケージ化を容易にするためにイメージ ファイルを MATLAB パス上に配置します。
サポートされているイメージ形式には、JPEG、PNG、GIF および m
×n
×3 のトゥルーカラー イメージ配列が含まれます。トゥルーカラー イメージ配列の詳細については、MATLAB でのイメージ タイプの処理を参照してください。アニメーション GIF ファイルでは最初のフレームのみが表示されます。
アイコンをフル サイズで完全に表示する十分なスペースが得られない場合、MATLAB はイメージをスケール ダウンして収まるようにします。
例: 'icon.png'
は、MATLAB パス上のアイコン ファイルを指定します。
例: 'C:\Documents\icon.png'
は、イメージ ファイルへの絶対パスを指定します。
例: fig = uifigure('Icon','peppers.png')
は指定されたアイコンのイメージ ファイルを使用して UI Figure を作成します。
Number
— 番号
整数 | []
この プロパティ は読み取り専用です。
Figure の番号。整数または空の配列として返されます。
IntegerHandle
プロパティが 'off'
に設定されている場合、Number
プロパティは空になります。
IntegerHandle
が 'on'
の場合、Number
プロパティは整数です。Figure を削除すると、MATLAB はその番号を次の Figure に再利用します。
NumberTitle
— 番号タイトルの使用
'off'
(既定値) | on/off logical 値
数値タイトル。'off'
または 'on'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
このプロパティを 'on'
に設定すると、UI figure のタイトルに 'Figure n'
という語句が含まれます。ここで、n
は番号です。
番号をタイトルに表示するには、NumberTitle
プロパティと IntegerHandle
プロパティがどちらも 'on'
に設定されていなければなりません。
IntegerHandle
— 整数ハンドルの使用
'off'
(既定値) | on/off logical 値
整数ハンドルの使用。'off'
または 'on'
、もしくは数値または logical 1
(true
) or 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
IntegerHandle
プロパティを 'on'
に設定した場合、MATLAB は既存の Figure によって使用されていない最小の整数値を探して、Number
プロパティをその値に設定します。UI figure を削除した場合、MATLAB はその番号を新しい Figure で再利用できます。
IntegerHandle
プロパティを 'off'
に設定した場合、MATLAB はその UI figure に整数値を割り当てず、Number
プロパティを空の配列に設定します。
タイトル バーに番号を表示するには、IntegerHandle
と NumberTitle
がどちらも 'on'
に設定されていなければなりません。
Type
— グラフィックス オブジェクトのタイプ
'figure'
この プロパティ は読み取り専用です。
グラフィックス オブジェクトのタイプ。'figure'
として返されます。
Tag
— オブジェクト識別子
''
(既定値) | 文字ベクトル | string スカラー
オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。オブジェクトの識別子として機能する一意の Tag
値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合、関数 findobj
を使用して Tag
値に基づいてオブジェクトを検索できます。
UserData
— ユーザー データ
[]
(既定値) | 配列
ユーザー データ。任意の MATLAB 配列として指定します。たとえば、スカラー、ベクトル、行列、cell 配列、文字配列、table、または構造体を指定できます。このプロパティを使用して、任意のデータをオブジェクトに保存します。
App Designer を使用している場合は、UserData
プロパティを使用する代わりに、アプリでパブリック プロパティまたはプライベート プロパティを作成してデータを共有します。詳細については、App Designer アプリ内でのデータの共有を参照してください。
バージョン履歴
R2016a で導入R2021a: 前景に残る UI Figure の作成
特定の UI Figure ウィンドウを他のウィンドウの前に維持するには、WindowStyle
プロパティを 'alwaysontop'
に設定します。モーダル Figure とは異なり、このプロパティ設定をもつ UI Figure ウィンドウでは、キーボードやマウスの操作が制限されません。
R2020b: モーダル UI Figure の作成
キーボードやマウスの操作を特定の UI Figure ウィンドウに制限するには、WindowStyle
プロパティを 'modal'
に設定します。
R2020b: カスタム アイコンの指定
カスタム アイコンを UI Figure ウィンドウに追加するには、Icon
プロパティをイメージ ファイルに、または m
×n
×3 のトゥルーカラー配列に設定します。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)