Main Content

listdlg

목록 선택 대화 상자 만들기

설명

예제

[indx,tf] = listdlg('ListString',list)는 사용자가 지정된 목록에서 하나 이상의 항목을 선택할 수 있는 모달 대화 상자를 만듭니다.

list 값은 대화 상자에 표시할 항목의 목록입니다.

이 함수는 사용자가 선택한 항목에 대한 정보를 포함하는 두 개의 출력 인수 indxtf를 반환합니다.

대화 상자에는 모두 선택, 취소, 확인 버튼이 포함됩니다. 이름-값 쌍 'SelectionMode','single'을 사용하여 단일 항목에 대한 선택으로 제한할 수 있습니다.

예제

[indx,tf] = listdlg('ListString',list,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 옵션을 추가로 지정합니다. 예를 들어, '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".

입력 인수

모두 축소

대화 상자에 표시할 항목의 목록으로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 셀형 배열과 string형 배열의 경우, 각 요소는 일반적으로 개별 목록 항목에 대응합니다. sprintf를 사용하여 새 줄 문자를 삽입하면 목록 항목이 더 많아집니다. 예를 들어, 셀형 배열 요소가 세 개밖에 없는 경우에도 다음 코드는 네 개의 목록 항목이 됩니다.

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는 사용자가 목록에서 한 개의 항목을 선택할 수 있고, 대화 상자가 열리면 목록의 네 번째 항목이 선택됨을 지정합니다.

목록 상자 프롬프트로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 이 프롬프트는 목록 상자 위에 표시됩니다.

프롬프트를 대화 상자의 너비보다 긴 문자형 벡터로 지정하면 프롬프트가 잘립니다. 여러 줄로 된 목록 상자 프롬프트를 만들려면 프롬프트를 셀형 배열 또는 string형 배열로 지정하십시오. 각 배열 요소 간에 줄 바꿈이 적용됩니다. 길이가 긴 요소는 대화 상자의 크기에 맞게 줄 바꿈됩니다.

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

목록 선택 모드로, 'SelectionMode'와 함께 'multiple'이나 'single'이 쉼표로 구분되어 지정됩니다.

  • 선택 모드가 'multiple'로 설정되면 사용자는 여러 개의 목록 항목을 선택할 수 있으며 모두 선택 버튼이 대화 상자에 표시됩니다.

  • 선택 모드가 'single'로 설정되면 사용자는 목록 항목을 한 개만 선택할 수 있으며 모두 선택 버튼이 대화 상자에 표시되지 않습니다.

예: 'SelectionMode','single'

목록 상자 크기(단위: 픽셀)로, 'ListSize'와 함께 요소를 2개 가진 벡터 [width height]가 쉼표로 구분되어 지정됩니다.

예: 'ListSize',[150,250]

선택된 목록 상자 항목으로, 'SelectionMode''single'로 설정되면 스칼라 인덱스 값으로 지정되고, 'SelectionMode''multiple'로 설정되면 인덱스로 구성된 벡터로 지정됩니다. 인덱스는 대화 상자가 열릴 때 목록 상자에서 선택되는 행을 나타냅니다. 예를 들면 다음과 같습니다.

  • 'InitialValue'3으로 설정되면 대화 상자가 열릴 때 위에서 세 번째 항목이 목록에서 선택됩니다.

  • 'InitialValue'[3 4]로 설정되면 대화 상자가 열릴 때 위에서 세 번째와 네 번째 항목이 목록에서 선택됩니다.

예: 'InitialValue',5

예: 'InitialValue',[2 5]

대화 상자 제목으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

예: 'Name','File Selection'

확인 버튼 레이블로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

예: 'OKString','Apply'

취소 버튼 레이블로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

예: 'CancelString','No Selection'

출력 인수

모두 축소

선택된 행에 대한 인덱스로, 인덱스로 구성된 배열로 반환됩니다. 행 인덱스는 목록에서 사용자가 선택한 내용을 나타냅니다. 사용자가 취소를 클릭하거나 Esc 키를 누르거나 대화 상자 제목 표시줄의 닫기 버튼을 클릭하면 indx 값이 빈 배열로 반환됩니다.

선택 논리값으로, 1 또는 0으로 반환됩니다.

선택 논리값은 사용자가 선택을 했는지 여부를 나타냅니다. 사용자가 확인을 클릭하거나 목록 항목을 두 번 클릭하거나 Return 키를 누르면 tf 반환 값은 1입니다.

사용자가 취소를 클릭하거나 Esc 키를 누르거나 대화 상자 제목 표시줄의 닫기 버튼(X)을 클릭하면 tf 반환 값은 0입니다.

세부 정보

모두 축소

모달 대화 상자

모달 대화 상자에서는 조작이 끝나기 전에 다른 MATLAB® 창과 상호 작용을 할 수 없습니다. 자세한 내용은 Figure 속성WindowStyle을 참조하십시오.

버전 내역

R2006a 이전에 개발됨

참고 항목

|