uidropdown
ドロップダウン コンポーネントを作成
説明
は、ドロップダウンを新しい Figure ウィンドウ内に作成し、dd
= uidropdownDropDown
オブジェクトを返します。MATLAB® は関数 uifigure
を呼び出してこの Figure を作成します。
は、1 つ以上の dd
= uidropdown(___,Name,Value
)Name,Value
のペアの引数を使用して、オブジェクトのプロパティを指定します。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。アプリ ユーザーがテキストを入力したり事前定義のオプションを選択できるドロップダウン コンポーネントを指定するには、Name,Value
のペアである Editable,'on'
を使用します。
例
ドロップダウン コンポーネントを作成
既定の項目をもつドロップダウン コンポーネントを作成します。
fig = uifigure; dd = uidropdown(fig);
ドロップダウン コンポーネント内の任意の位置をクリックすると、ドロップダウン コンポーネントが開きます。
ドロップダウンのプロパティの設定とアクセス
ドロップダウン コンポーネントを作成し、オプションを指定します。
fig = uifigure; dd = uidropdown(fig,'Items',{'Red','Yellow','Blue','Green'},... 'Value','Blue');
選択したオプションに関連付けられている値を調べます。
value = dd.Value
value = 'Blue'
既定では ItemsData
プロパティは空なので、ドロップダウン コンポーネントの値はドロップダウン コンポーネントから選択された要素に対応します。
データ値をドロップダウン コンポーネントの個々の項目に関連付けます。
dd.ItemsData = [1 2 3 4];
選択したオプションに関連付けられている値を調べます。
value = dd.Value
value = 3
ItemsData
プロパティ値が空でない場合、ドロップダウン コンポーネントの値は、選択された Items
値の要素に対応する ItemsData
の値です。
編集可能なドロップダウンを作成
fig = uifigure; dd = uidropdown(fig,'Editable','on');
ドロップダウン コンポーネント内で、下矢印を除く任意の位置をクリックすると、カーソルが挿入され、ドロップダウン コンポーネントにテキストを入力できます。
ドロップダウンの選択に対するコードの応答
プロットとドロップダウン コンポーネントを作成します。アプリ ユーザーがドロップダウン コンポーネントから選択すると、プロットの色が変更されます。
MATLAB パス上の plotOptions.m
に次のコードを保存します。次のコードはプロットとドロップダウン コンポーネントを含むウィンドウを作成します。アプリ ユーザーがドロップダウン コンポーネントの選択を変更すると、ValueChangedFcn
コールバックはプロットの色を変更します。
function plotOptions fig = uifigure; fig.Position(3:4) = [440 320]; ax = uiaxes('Parent',fig,... 'Position',[10 10 300 300]); x = linspace(-2*pi,2*pi); y = sin(x); p = plot(ax,x,y); p.Color = 'Blue'; dd = uidropdown(fig,... 'Position',[320 160 100 22],... 'Items',{'Red','Yellow','Blue','Green'},... 'Value','Blue',... 'ValueChangedFcn',@(dd,event) selection(dd,p)); end % Create ValueChangedFcn callback: function selection(dd,p) val = dd.Value; p.Color = val; end
plotOptions
を実行します。ドロップダウン コンポーネントから [green] を選択すると、プロットの色が緑に変更されます。
ドロップダウン コンポーネントでの入力または選択に対するコードの応答
ドロップダウン コンポーネントとランプを作成します。アプリ ユーザーがドロップダウン コンポーネントから選択すると、ランプのサイズが変更されます。
MATLAB パス上の lampSize.m
に次のコードを保存します。このコードは、ドロップダウン コンポーネントとランプを含む Figure ウィンドウを作成します。アプリ ユーザーがドロップダウン コンポーネントの選択を変更すると、ValueChangedFcn
コールバックはランプのサイズを変更します。
function lampSize % Create figure and components fig = uifigure('Position',[100 100 300 275]); lmp = uilamp(fig,... 'Position',[100 30 20 20]); dd = uidropdown(fig,... 'Editable','on',... 'Position',[84 204 100 20],... 'Items',{'Size x 1','Size x 2','Size x 3','Size x 4'},... 'ItemsData',[1 2 3 4],... 'Value',1,... 'ValueChangedFcn',@(dd,event) optionSelected(dd,lmp)); end % Create ValueChangedFcn callback function optionSelected(dd,lmp) val = dd.Value; s = [20 20]; switch val case {1, 2, 3, 4} % User selected a defined option size = val * s; lmp.Position(3:4) = size; otherwise % User typed a value m = str2num(val); size = m * s; lmp.Position(3:4) = size; end end
lampSize
を実行し、ドロップダウン コンポーネントからさまざまなオプションを選択します。
ドロップダウン コンポーネントに値を入力し、Enter キーを押します。ランプのサイズが変更されます (大きな値を入力した場合、ランプを表示するには Figure のサイズを変更しなければならないことがある)。
入力引数
parent
— 親コンテナー
Figure
オブジェクト (既定値) | Panel
オブジェクト | Tab
オブジェクト | ButtonGroup
オブジェクト | GridLayout
オブジェクト
親コンテナー。関数 uifigure
を使用して作成された Figure
オブジェクト、またはその子コンテナー (Tab
、Panel
、ButtonGroup
または GridLayout
) のいずれかとして指定します。親コンテナーを指定しない場合、MATLAB は関数 uifigure
を呼び出し、親コンテナーとして機能する新しい Figure
オブジェクトを作成します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: 'Items',{'Red','Yellow','Blue'}
はドロップダウン コンポーネントに表示するオプションを指定します。
以下にリストするプロパティは、利用できるプロパティの一部です。完全なリストについては、DropDown のプロパティ を参照してください。
Value
— 値
Items
の要素 | ItemsData
の要素
Items
— ドロップダウン項目
{'Option 1','Option 2','Option 3','Option 4'}
(既定値) | 文字ベクトルの cell 配列 | string 配列 | ...
ドロップダウン項目。文字ベクトルの cell 配列、string 配列、または 1 次元の categorical 配列として指定します。重複する要素を使用できます。ドロップダウン コンポーネントには Items
の配列の要素数と同数のオプションが表示されます。このプロパティを categorical 配列として指定した場合、MATLAB はカテゴリの完全なセットではなく、配列内の値を使用します。
例: {'Red','Yellow','Blue'}
例: {'1','2','3'}
ItemsData
— Items
プロパティ値の各要素に関連付けるデータ
空の配列 ([]
) (既定値) | 1 行 n 列の数値配列 | 1 行 n 列の cell 配列
Items
プロパティ値の各要素に関連付けるデータ。1 行 n 列の数値配列または 1 行 n 列の cell 配列として指定します。重複する要素を使用できます。
たとえば、Items
値を従業員の氏名に設定した場合、ItemsData
値を対応する従業員の ID 番号に設定できます。ItemsData
値はアプリ ユーザーに表示されません。
ItemsData
値と Items
値の配列要素数が一致しない場合、次のいずれかが起こります。
ItemsData
値が空の場合、Items
値のすべての要素がアプリ ユーザーに表示されます。ItemsData
値の要素数がItems
値の要素数よりも多い場合、Items
のすべての要素がアプリ ユーザーに表示されます。MATLAB はItemsData
の余分な要素を無視します。ItemsData
値が空ではないが、要素数がItems
値の要素数よりも少ない場合、対応する要素がItemsData
値にあるItems
値の要素のみがアプリ ユーザーに表示されます。
例: {'One','Two','Three'}
例: [10 20 30 40]
Editable
— ドロップダウン コンポーネントの編集可否の状態
'off'
(既定値) | on/off logical 値
ドロップダウン コンポーネントの編集可否の状態。'off'
または 'on'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
Enable
プロパティ値が 'off'
である場合、編集可否のプロパティ値が 'on'
でもアプリ ユーザーはドロップダウン コンポーネントのテキストを変更できません。
ValueChangedFcn
— 値が変更されたときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
値が変更されたときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このコールバック関数は、ドロップダウン リストから別のオプションを選択するときに実行されます。Value
プロパティがプログラムにより変更される場合には実行されません。
このコールバック関数は、ユーザーのドロップダウン操作に関する特定の情報にアクセスできます。MATLAB は、この情報を ValueChangedData
オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event
と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.PreviousValue
はドロップダウンの直前の値を返します。ValueChangedData
オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。
次の表に、ValueChangedData
オブジェクトのプロパティを示します。
プロパティ | 値 |
---|---|
Value | アプリ ユーザーによる最新操作の後のドロップダウン コンポーネントの値。 |
PreviousValue | アプリ ユーザーによる最新操作の前のドロップダウン コンポーネントの値。 |
Edited | ドロップダウン コンポーネントに新しい値を入力した結果としてコールバックが実行されたかどうかを示す logical 値。
|
Source | コールバックを実行するコンポーネント。 |
EventName | 'ValueChanged' |
コールバックの記述の詳細については、App Designer のコールバックを参照してください。
DropDownOpeningFcn
— ドロップダウン メニューを開くときのコールバック
''
(既定値) | 関数ハンドル | cell 配列 | 文字ベクトル
ドロップダウン メニューを開くときのコールバック。次の値のいずれかとして指定します。
関数ハンドル。
最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。
有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。
このプロパティは、ユーザーがクリックしてドロップダウン メニューを開いたときに実行するコールバック関数を指定します。このコールバックの使用方法として、ドロップダウン メニューのエントリのリストの動的な更新があります。
このコールバック関数は、ユーザーのドロップダウン操作に関する特定の情報にアクセスできます。MATLAB は、この情報を DropDownOpeningData
オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer では、引数は event
と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.Source
は、ユーザーの操作に応じてコールバックをトリガーする DropDown
オブジェクトを返します。DropDownOpeningData
オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。
次の表に、DropDownOpeningData
オブジェクトのプロパティを示します。
プロパティ | 値 |
---|---|
Source | コールバックを実行するコンポーネント |
EventName | 'DropDownOpening' |
コールバックの記述の詳細については、App Designer のコールバックを参照してください。
Position
— ドロップダウン コンポーネントの位置とサイズ
[100 100 100 22]
(既定値) | [left bottom width height]
親を基準にしたドロップダウン コンポーネントの位置とサイズ。ベクトル [left bottom width height]
として指定します。次の表で、ベクトルの各要素について説明します。
要素 | 説明 |
---|---|
left | 親コンテナーの内側左端からドロップダウン コンポーネントの外側左端までの距離 |
bottom | 親コンテナーの内側下端からドロップダウン コンポーネントの外側下端までの距離 |
width | ドロップダウン コンポーネントの外側の右端と左端の間の距離 |
height | ドロップダウン コンポーネントの外側の上端と下端の間の距離 |
すべての測定単位はピクセルです。
Position
の値の基準は、親コンテナーの "描画可能領域" です。描画可能領域は、コンテナーの境界線の内側にある領域で、メニュー バーやタイトルなどの装飾が占める領域は含まれません。
例: [100 100 100 22]
バージョン履歴
R2016a で導入R2022b: ユーザーによるドロップダウン コンポーネントのクリックに対する応答のプログラミング
ClickedFcn
コールバック プロパティを使用して、ユーザーによるドロップダウン コンポーネントのクリックに対する応答をプログラミングします。
詳細については、DropDown のプロパティ を参照してください。
R2021a: プレースホルダー テキストの指定
Placeholder
プロパティを使用して、想定されるドロップダウン コンポーネントの入力を説明する簡単なヒントを提供します。
詳細については、DropDown のプロパティ を参照してください。
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)