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".

输入参数

全部折叠

要显示在对话框中的项目列表,指定为字符向量、字符向量元胞数组或字符串数组。对于元胞数组和字符串数组,每个元素通常对应于一个单独的列表项。如果使用 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 指定用户可从列表中选择一个项目,并且当对话框打开时,列表中的第四个项目处于选中状态。

列表框提示,指定为字符向量、字符向量元胞数组或字符串数组。提示出现在列表框上方。

如果您将提示指定为长度大于对话框宽度的字符向量,则该提示将进行裁剪。要创建一个多行列表框提示,请将该提示指定为元胞数组或字符串数组。每个数组元素之间会进行换行。长元素会换行适应对话框大小。

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

列表选择模式,以逗号分隔的对组形式指定,该对组由 'SelectionMode''multiple''single' 组成。

  • 如果选择模式设置为 'multiple',则用户可以选择多个列表项,并且对话框中会显示全选按钮。

  • 如果选择模式设置为 'single',则用户只能选择一个列表项,并且对话框中会显示全选按钮。

示例: 'SelectionMode','single'

列表框大小(以像素为单位),以逗号分隔的对组形式指定,该对组由 'ListSize' 和一个二元素向量 [width height] 组成。

示例: 'ListSize',[150,250]

选定的列表框项目,当 'SelectionMode' 设置为 'single' 时,指定为标量索引值,当 'SelectionMode' 设置为 'multiple' 时,指定为索引向量。索引指示当对话框打开时,列表框中的哪些行处于选中状态。例如:

  • 如果 'InitialValue' 设置为 3,则当对话框打开时,列表中上起第三个项目处于选中状态。

  • 如果 'InitialValue' 设置为 [3 4],则当对话框打开时,列表中上起第三个和第四个项目处于选中状态。

示例: 'InitialValue',5

示例: 'InitialValue',[2 5]

对话框标题,指定为字符向量或字符串标量。

示例: 'Name','File Selection'

确定按钮标签,指定为字符向量或字符串标量。

示例: 'OKString','Apply'

取消按钮标签,指定为字符向量或字符串标量。

示例: 'CancelString','No Selection'

输出参量

全部折叠

选定行的索引,以索引数组形式返回。行索引对应于用户从列表中选择的项目。如果用户点击取消、按 Esc 键或者点击对话框标题栏中的关闭按钮,则将以空数组形式返回 indx 值。

选择逻辑值,返回为 10

选择逻辑值指示用户是否做出选择。如果用户点击确定、双击某个列表项或者按 Return 键,则 tf 返回值为 1。

如果用户点击取消、按 Esc 键或者点击对话框标题栏中的关闭按钮 (X),则 tf 返回值为 0

详细信息

全部折叠

模态对话框

模态对话框可以防止用户在响应前与其他 MATLAB® 窗口交互。有关详细信息,请参阅 Figure 属性 中的 WindowStyle

版本历史记录

在 R2006a 之前推出

另请参阅

|