CWnd::DlgDirList
用文件或目录列表填充列表框。
int DlgDirList(
LPTSTR lpPathSpec,
int nIDListBox,
int nIDStaticPath,
UINT nFileType
);
参数
lpPathSpec
指向包含该路径或文件名的一个Null终止的字符串。 DlgDirList 修改此字符串,应足够长包含修改。 有关更多信息,请参见下面的“备注”部分。nIDListBox
指定列表框的标识符。 如果 nIDListBox 为0,DlgDirList,假设不列表框存在且不尝试加载一。nIDStaticPath
指定用于的静态文本控件的标识符显示当前驱动器和目录。 如果 nIDStaticPath 为0,DlgDirList 假定,如文本控件不存在。nFileType
指定要显示的文件的属性。 它可以是下列值的任意组合:没有其他属性的DDL_READWRITE 读/写数据文件。
DDL_READONLY 只读文件。
DDL_HIDDEN 隐藏文件。
DDL_SYSTEM 系统文件。
DDL_DIRECTORY 内容。
DDL_ARCHIVE 存档。
DDL_POSTMSGS LB_DIR 标志。 如果 LB_DIR 设置了标志,在Windows应用程序的队列将 DlgDirList 生成的消息;否则,这些直接发送到对话框程序。
DDL_DRIVES 驱动程序。 如果 DDL_DRIVES 设置了标志,DDL_EXCLUSIVE 标志自动设置为。 因此,创建包括驱动器和文件的内容,必须调用两次 DlgDirList :一次使用 DDL_DRIVES 标志设置一次使用列表的其余部分的标志。
DDL_EXCLUSIVE 排除位。 如果独占位安装,因此,只有一个指定类型的文件列表;否则该指定类型的普通文件和文件列表。
返回值
非零,如果函数运行成功;否则为0。
备注
DlgDirList 发送 LB_RESETCONTENT 和 LB_DIR 信息到列表框。 它没有匹配 lpPathSpec给定的路径所有文件的名称加载 nIDListBox 指定的列表框。
lpPathSpec 参数具有以下形式:
[drive:] [ [\u]directory[\idirectory]... \u] [filename]
在此示例中,drive 是盘符,directory 有效的目录名称,并且,文件名 是必须至少包含一个通配符的有效的文件名。 通配符是问号(?),这意味着与任何字符和星号(*),这意味着匹配任意数量的字符。
如果为 lpPathSpec指定一个0长度字符串;或者,如果只指定目录名,但不包含任何文件规范,该字符串将更改为“*.*”。
如果 lpPathSpec 包括驱动器和目录名,当前驱动器和目录更改为指定的驱动器和目录,在列表框才能加载。 nIDStaticPath 确定的文本控件还会使用新的驱动器和目录名。
在列表框加载后,移除路径的驱动器和目录部分更新 lpPathSpec。
示例
// If pDialog points to a CDialog object with a list box
// with the identifier IDC_DIRLIST, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));
pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);
要求
Header: afxwin.h