主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

网格布局のプロパティ

グリッドレイアウトマネージャーの動作を制御

グリッド レイアウト マネージャーは、图形全体、または 图形内のコンテナーにまたがる透明なグリッドの行と列に沿って 用户界面コンポーネントを配置します。グリッド レイアウトのプロパティ値を変更すると、動作の特定の特性を変更できます。ドット表記を使用して、特定のオブジェクトとプロパティを参照します。

fig=uifigure;g=uigridlayout(图);g.ColumnWidth={100,'1x'};

グリッド

すべて展開する

列幅。“适合”、数値、あるいは文字“x”と組み合わされた数値のいずれかを含む细胞配列として指定します。値の任意の組み合わせを指定できます。细胞配列内の要素数が、グリッド内の列数を制御します。たとえば、4 列のグリッドを作成するには、1 行 4 列の cell 配列を指定します。列幅は string 配列または数値配列として指定できますが、[" 1 x”“2 x”x“1”)(100 200)のように指定される要素が同じ型である場合に限られます。

列幅には3つの異なるタイプがあります。

  • 幅を合わせる-“适合”を指定します。内容が収まるように列幅が自動的に調整されます。テキストベースコンポーネントの場合,“适合”による幅ではテキスト全体が表示されるようにフォントプロパティが調整されます。テキストベース以外のコンポーネントの場合,“适合”による幅はコンポーネントの既定サイズとその他の要因に基づきます。コンポーネントに合わせた列幅のハードコーディングを回避する場合,またはアプリが別の言語に翻訳されたり異なるプラットフォームで実行されたりする場合は,“适合”幅を使用します。

  • ピクセル単位の固定幅 — 数値を指定します。列幅は、指定されたピクセル数で固定されます。親コンテナーのサイズが変更されても、列幅は変わりません。

  • 可変幅——文字“x”と組み合わされた数値を指定します (たとえば、“1x”)。親コンテナーのサイズが変更されると,列幅は拡大または縮小します。可変幅の列は,固定幅の列によって使用されずに残っている横方向のスペースを埋めます。文字“x”と組み合わせる数値は,残りのスペースをすべての可変幅の列間で分割するための重みです。グリッドに可変幅の列が 1 つしかない場合は、数値とは無関係に残りのスペースがすべて使用されます。同じ数値を使用する可変幅の列が複数ある場合は、スペースが等しく共有されます。それ以外の場合、スペースの量は数値に比例します。

たとえば,{“适合”,200年,“2 x”,“1 x”}は1番目の列のサイズをその内容が収まるように設定し,2番目の列を200ピクセルに固定し,残りの2列で残りの横方向のスペースを共有します。3番目の列は4番目の列の2倍のスペースを使用します。

レイアウトの一部の特性を変更すると,このプロパティの値に影響が及ぶ場合があります。たとえば,完全に入力されたグリッドに対してさらにコンポーネントを追加した場合、グリッドのサイズは、新たなコンポーネントを収容するように変更されます。

既にコンポーネントを含むグリッドレイアウトのColumnWidthプロパティを変更しても、コンポーネントのレイアウトは変化しません。たとえば、コンポーネントを含む列を動的に削除しようとしても、それらのコンポーネントをその列の外に移動するまでColumnWidthプロパティは変化しません。

行の高さ。“适合”、数値、あるいは文字“x”と組み合わされた数値のいずれかを含む细胞配列として指定します。値の任意の組み合わせを指定できます。细胞配列内の要素数が、グリッド内の行数を制御します。たとえば、4 行をもつグリッドを作成するには、1 行 4 列の cell 配列を指定します。行の高さは string 配列または数値配列として指定できますが、[" 1 x”“2 x”x“1”)(100 200)のように指定される要素が同じ型である場合に限られます。

行の高さには3つの異なるタイプがあります。

  • 高さを合わせる —“适合”を指定します。内容が収まるように列の高さが自動的に調整されます。テキストベースのコンポーネントの場合,“适合”による高さではテキスト全体が表示されるようにフォントプロパティが調整されます。テキストベース以外のコンポーネントの場合,“适合”による高さはコンポーネントの既定サイズとその他の要因に基づきます。コンポーネントに合わせた行の高さのハードコーディングを回避する場合,またはアプリが別の言語に翻訳されたり異なるプラットフォームで実行されたりする場合は,“适合”高さを使用します。

  • ピクセル単位の固定の高さ — 数値を指定します。行の高さは、指定されたピクセル数で固定されます。親コンテナーのサイズが変更されても、行の高さは変わりません。

  • 可変の高さ — 文字“x”と組み合わされた数値を指定します (たとえば、“1x”)。親コンテナーのサイズが変更されると,行は拡大または縮小します。可変の高さの行は,固定の高さの行によって使用されずに残っている縦方向のスペースを埋めます。文字“x”と組み合わせる数値は,残りのスペースをすべての可変高の行間で分割するための重みです。グリッドに可変の高さの行が 1 つしかない場合は、数値とは無関係に残りのスペースがすべて使用されます。同じ数値を使用する可変の高さの行が複数ある場合は、スペースが等分されます。それ以外の場合、スペースの量は数値に比例します。

たとえば,{“适合”,200年,“2 x”,“1 x”}は 1.番目の行のサイズをその内容が収まるように設定し、2.番目の行を 200ピクセルに固定し、残りの 2.行で残りの縦方向のスペースを共有します。3.番目の行は、4.番目の行の 2.倍のスペースを使用します。

レイアウトの一部の特性を変更すると,このプロパティの値に影響が及ぶ場合があります。たとえば,完全に入力されたグリッドに対してさらにコンポーネントを追加した場合、グリッドのサイズは、新たなコンポーネントを収容するように変更されます。

既にコンポーネントを含むグリッドレイアウトのRowHeightプロパティを変更しても,コンポーネントのレイアウトは変化しません。たとえば,コンポーネントを含む行を動的に削除しようとしても、それらのコンポーネントをその行の外に移動するまでRowHeightプロパティは変化しません。

列の間隔。グリッド内の隣接列との間のピクセル数を示すスカラー数値として指定します。指定した数値はすべての列に適用されます。

行の間隔。グリッド内の隣接行との間のピクセル数を示すスカラー数値として指定します。指定した数値はすべての行に適用されます。

グリッドの外周囲のパディング。[左下右上]という形式のベクトルとして指定します。ベクトルの要素は次の表のとおりです。

ベクトル要素 説明
左边

親コンテナーの内側左端とグリッドの左端の間の距離 (ピクセル単位)。

親コンテナーの内側下端とグリッドの下端の間の距離 (ピクセル単位)。

正当

親コンテナーの内側右端とグリッドの右端の間の距離 (ピクセル単位)。

顶部

親コンテナーの内側上端とグリッドの上端の間の距離 (ピクセル単位)。親コンテナーの内側上端は、すべての装飾 (タイトル、タブ ラベル、メニュー バーなど) の下から始まります。

背景色。RGB 3成分,16進数カラーコード,または表にリストされた色オプションのいずれかとして指定します。

RGB 3成分および 16進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3成分は、色の赤、緑、青成分の強度を指定する 3.成分の行ベクトルです。強度値は[0,1]の範囲でなければなりません。たとえば[0.4 0.6 0.7]のようになります。

  • 16進数カラー コードは、ハッシュ記号 (#)で始まり3桁または6桁の0からFまでの範囲の 16進数が続く文字ベクトルまたは 一串スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード“# FF8800”“#ff8800”“#F80”、および“#f80”は等価です。

あるいは,名前を使用して一部の一般的な色を指定できます。次の表に,名前の付いた色オプション,等価のRGB 3成分,および16進数カラーコードを示します。

色名 省略名 RGB 3成分 16進数カラー コード 外観
“红色” “r” [1 0 0] “#FF0000”

“绿色” ‘g’ (0 1 0) “#00FF00”

“蓝” “b” (0 0 1) #0000FF"

“青色” “c” (0 1 1) “# 00飞行符”

“红色” “米” [1 0 1] “#就”

“黄色” “是的” [1 1 0] "FFFF00"

“黑” “k” (0 0 0) # 000000的

“白色” “w” [1 1 1] "FFFFFF"

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

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

[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] “# 77 ac30”

(0.3010 0.7450 0.9330) “# 4 dbeee”

(0.6350 0.0780 0.1840) "A2142F"

対話機能

すべて展開する

子の可視性。“开”または“关闭”、もしくは数値または 必然的1.(真正的)または0(错误的) として指定します。“开”の値は真正的と等価であり、“关闭”错误的と等価です。したがって,このプロパティの値を逻辑値として使用できます。値はmatlab.lang.OnOffSwitchState型の开/关逻辑値として格納されます。

グリッド内のすべての子コンポーネントとその子孫を非表示にするには,このプロパティを“关闭”に設定します。子とその子孫は、その可见プロパティの設定にかかわらず非表示になります。コンポーネントが非表示になっている場合、アプリには表示されませんが、プロパティの取得や設定はできます。

このプロパティを“开”に設定した場合、子とその子孫は、その可见プロパティが“开”に設定されている場合にのみ表示されます。

グリッドの可见プロパティを設定しても、子孫の可见プロパティの値は変更されません。

スクロール機能。“关闭”または“开”、もしくは数値または 必然的1.(真正的)または0(错误的) として指定します。“开”の値は真正的と等価であり、“关闭”错误的と等価です。したがって,このプロパティの値を逻辑値として使用できます。値はmatlab.lang.OnOffSwitchState型の开/关逻辑値として格納されます。

このプロパティを“开”に設定すると、グリッド レイアウト マネージャー内でのスクロールが有効になります。スクロールするには、次の条件を満たしていなければなりません。

  • グリッドレイアウトマネージャーの“行高”プロパティに対して指定した値の合計は,親コンテナーの高さより大きくなければならない。

  • グリッドレイアウトマネージャーの“列宽度”プロパティに対して指定した値の合計は,親コンテナーの幅より大きくなければならない。

  • グリッド レイアウト マネージャーの少なくとも 1.行または 1.列が、固定ピクセルの高さまたは幅に設定されていなければならない。

  • グリッドレイアウトマネージャーにコンポーネントが含まれていなければならない。

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

コンテキストメニュー。快捷菜单オブジェクトとして指定します。このプロパティは、グリッド レイアウト マネージャーを右クリックしたときにコンテキスト メニューを表示するために使用します。関数uicontextmenuを使用して,コンテキストメニューを作成します。

位置

すべて展開する

レイアウトオプション。网格布局自动选项オブジェクトとして指定します。このプロパティは,入れ子にされたグリッドレイアウトコンテナーのオプションを指定します。グリッドレイアウトが別のグリッド レイアウト コンテナーの子でない場合 (たとえば、figure や panel の子である場合)、このプロパティは空となり、効果はありません。ただし、グリッド レイアウトが別のグリッド レイアウトの子である場合、网格布局自动选项オブジェクトのおよびプロパティを設定して,親グリッドの目的の行と列にその子グリッドを配置できます。

たとえば,次のコードは网格1の3行目の2列目で网格2を入れ子にしています。

Grid1 = uigridlayout([4 3]);grid2 = uigridlayout (grid1);grid2.Layout。行= 3;grid2.Layout。列= 2;
子グリッドが親グリッドの複数の行や列にまたがるようにするには、またはプロパティを 2.要素ベクトルとして指定します。たとえば、次のコマンドを実行すると、网格2网格12.列目から3.列目にかけてまたがります。
grid2.Layout。列= [2 3];

コールバック

すべて展開する

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

  • 関数ハンドル。

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

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

コールバックを関数ハンドル,细胞配列,または文字ベクトルとして指定する方法の詳細については,程序设计师でコールバックを記述するを参照してください。

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

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

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

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

  • 関数ハンドル。

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

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

コールバックを関数ハンドル,细胞配列,または文字ベクトルとして指定する方法の詳細については,程序设计师でコールバックを記述するを参照してください。

このプロパティは,MATLABがオブジェクトを削除するときに実行されるコールバック関数を指定します。MATLABは,オブジェクトのプロパティを破棄する前にDeleteFcnコールバックを実行します。DeleteFcnプロパティを指定しない場合,MATLABは既定の削除関数を実行します。

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

コールバック実行制御

すべて展開する

コールバックの割り込み。“开”または“关闭”、もしくは数値または 必然的1.(真正的)または0(错误的) として指定します。“开”の値は真正的と等価であり、“关闭”错误的と等価です。したがって,このプロパティの値を逻辑値として使用できます。値はmatlab.lang.OnOffSwitchState型の开/关逻辑値として格納されます。

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

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

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

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

  • 値が“开”の場合、他のコールバックがオブジェクトのコールバックに割り込むことができます。割り込みは、刷新屏幕数字uifiguregetframe等待暂停コマンドなどの,MATLABが次にキューを処理するポイントで発生します。

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

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

  • 値が“关闭”の場合、割り込みの試行はすべてブロックされます。割り込みコールバックを所有するオブジェクトの巴士行动プロパティが,その割り込みコールバックを破棄するかキューに入れるかを決定します。

メモ

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

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

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

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

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

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

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

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

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

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

  • “取消”——割り込みコールバックを実行しません。

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

削除状態。matlab.lang.OnOffSwitchState型の 开/关逻辑値として返されます。

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

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

親/子

すべて展開する

親コンテナー。関数uifigureを使用して作成された数字オブジェクト、またはその子コンテナー (选项卡面板ButtonGroupまたは网格布局) のいずれかとして指定します。コンテナーが指定されていない場合、MATLABは関数uifigureを呼び出し、親コンテナーとして使用される新しい数字オブジェクトを作成します。

子。用户界面コンポーネント オブジェクトの配列として返されます。このプロパティは、子のリストの参照や子の並べ替えに使用します。子を並べ替えるには、このプロパティ自体で値の順序を並べ替えます。このプロパティを使用して子の追加や削除を行うことはできません。このリストに子を追加するには、子 用户界面コンポーネントのプロパティを設定します。

子を並べ替えても,グリッド内のコンポーネントの位置には影響しません。グリッド内のコンポーネントの位置を変更するには,布局プロパティを設定します。

オブジェクトハンドルの可視性。“开”“回调”または“关闭”として指定します。

このプロパティは、オブジェクトの親がもつ子のリストにおけるそのオブジェクトの可視性を制御します。オブジェクトがその親オブジェクトのリストで、子として可視できない場合、オブジェクト階層の検索またはプロパティのクエリによってオブジェクトを取得する関数は、そのオブジェクトを返しません。これらの関数には、得到findobjclfおよびが含まれます。オブジェクトは参照できない場合も有効です。オブジェクトにアクセスできる場合は、そのプロパティを設定および取得して、それをオブジェクトに作用する任意の関数に渡すことができます。

可操作性の値 説明
“开” オブジェクトは常に参照できます。
“回调” オブジェクトはコールバック内から,あるいはコールバックにより呼び出される関数から参照できます。しかし,コマンドラインから呼び出される関数からは参照できません。このオプションを使用すると,コマンドラインからのオブジェクトへのアクセスがブロックされますが,コールバック関数からのアクセスは許可されます。
“关闭” オブジェクトは常に参照できません。このオプションは,他の関数によるUIの意図しない変更を防止するために役立ちます。HandleVisibility“关闭”に設定すると、その関数の実行中にオブジェクトが一時的に非表示になります。

識別子

すべて展開する

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

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

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

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

程序设计师を使用している場合は,用户数据プロパティを使用する代わりに、アプリでパブリック プロパティまたはプライベート プロパティを作成してデータを共有します。詳細については、应用程序设计师アプリ内でのデータの共有を参照してください。

R2018bで導入