Main Content

listdlg

リスト選択ダイアログ ボックスの作成

説明

[indx,tf] = listdlg('ListString',list) は、指定されたリストから 1 つ以上の項目をユーザーが選択できるモーダル ダイアログ ボックスを作成します。

list 値はダイアログ ボックスに表示する項目のリストです。

この関数は、ユーザーが選択した項目に関する情報を含む 2 つの出力引数 indxtf を返します。

ダイアログ ボックスには、[すべて選択][キャンセル] および [OK] のボタンが含まれます。名前と値のペア 'SelectionMode','single' を使用して、選択を単一の項目に制限できます。

[indx,tf] = listdlg('ListString',list,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して追加のオプションを指定します。たとえば、'PromptString','Select a Color' はリストの上に Select a Color を表示します。

すべて折りたたむ

list = {'Red','Yellow','Blue',...                   
'Green','Orange','Purple'};
[indx,tf] = listdlg('ListString',list);

List selection dialog box. The list contains multiple color options. Below the list is a button labeled "Select all" and two buttons labeled "OK" and "Cancel".

d = dir;
fn = {d.name};
[indx,tf] = listdlg('PromptString',{'Select a file.',...
    'Only one file can be selected at a time.',''},...
    'SelectionMode','single','ListString',fn);

List selection dialog box. The text above the list says: "Select a file. Only one file can be selected at a time." The list contains multiple file names. Below the list are two buttons labeled "OK" and "Cancel".

入力引数

すべて折りたたむ

ダイアログ ボックスに表示する項目のリスト。文字ベクトル、文字ベクトルの cell 配列、または string 配列として指定します。cell 配列と string 配列の各要素は通常、個別のリスト項目に対応します。sprintf を使用して改行文字を挿入すると、リスト項目が増えます。たとえば、次のコードにある cell 配列の要素は 3 つだけですが、リスト項目は 4 つになります。

f = listdlg('ListString', ...
            {'John Smith' ...
             sprintf('Cecelia\nPayne-Gaposchkin') ...
             'Gina Peters'});

例: {'Ellen','Varun','Haruko','Roger'}

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: 'SelectionMode,'single','InitialValue',4 は、ユーザーがリストから 1 つの項目を選択でき、ダイアログ ボックスが開いたときにリストの 4 番目の項目が選択されていることを指定します。

リスト ボックスのプロンプト。文字ベクトル、文字ベクトルの cell 配列、または string 配列として指定します。プロンプトはリスト ボックスの上に表示されます。

ダイアログ ボックスの幅より長い文字ベクトルとしてプロンプトを指定した場合、プロンプトはクリップされます。複数行からなるリスト ボックスのプロンプトを作成するには、プロンプトを cell 配列または string 配列として指定します。各配列要素の間で改行が行われます。長い要素はダイアログ ボックスに納まるように折り返されます。

例: 'PromptString','Select a catalog number:'

リスト選択モード。'SelectionMode' と、'multiple' または 'single' で構成されるコンマ区切りのペアとして指定します。

  • 選択モードを 'multiple' に設定すると、ユーザーは複数のリスト項目を選択でき、ダイアログ ボックスに [すべて選択] ボタンが表示されます。

  • 選択モードを 'single' に設定すると、ユーザーは 1 つのリスト項目のみを選択でき、ダイアログ ボックスには [すべて選択] ボタンは "表示されません"。

例: 'SelectionMode','single'

リスト ボックスのサイズ (ピクセル単位)。'ListSize' と 2 要素ベクトル [width height] で構成されるコンマ区切りのペアとして指定します。

例: 'ListSize',[150,250]

選択されたリスト ボックスの項目。'SelectionMode''single' に設定した場合はスカラーのインデックス値として指定し、'SelectionMode''multiple' に設定した場合はインデックスのベクトルとして指定します。インデックスは、ダイアログ ボックスが開いたときに選択されているリスト ボックスの行を示します。以下に例を示します。

  • 'InitialValue'3 に設定した場合、ダイアログ ボックスが開いたときにリストの上から 3 番目の項目が選択されています。

  • 'InitialValue'[3 4] に設定した場合、ダイアログ ボックスが開いたときにリストの上から 3 番目と 4 番目の項目が選択されています。

例: 'InitialValue',5

例: 'InitialValue',[2 5]

ダイアログ ボックスのタイトル。文字ベクトルまたは string スカラーとして指定します。

例: 'Name','File Selection'

[OK] ボタンのラベル。文字ベクトルまたは string スカラーとして指定します。

例: 'OKString','Apply'

[キャンセル] ボタンのラベル。文字ベクトルまたは string スカラーとして指定します。

例: 'CancelString','No Selection'

出力引数

すべて折りたたむ

選択された行のインデックス。インデックスの配列として返されます。行インデックスは、ユーザーによるリストからの選択に対応します。ユーザーが [キャンセル] またはダイアログ ボックスのタイトル バーにある閉じるボタンをクリックするか、Esc キーを押した場合、indx 値は空の配列として返されます。

選択の論理値。1 または 0 として返されます。

選択の論理値はユーザーが選択したかどうかを示します。ユーザーが [OK] のクリック、リスト項目のダブルクリック、または Return キーの押下を行った場合、tf の戻り値は 1 です。

ユーザーが [キャンセル] またはダイアログ ボックスのタイトル バーにある閉じるボタン (X) をクリックするか、Esc キーを押した場合、tf の戻り値は 0 です。

詳細

すべて折りたたむ

モーダル ダイアログ ボックス

モーダル ダイアログ ボックスでは、応答する前に他の MATLAB® ウィンドウの操作ができません。詳細については、Figure のプロパティWindowStyle を参照してください。

バージョン履歴

R2006a より前に導入