CWnd::DlgDirList

int DlgDirList( LPTSTR lpPathSpec, int nIDListBox, int nIDStaticPath, UINTnFileType );

返回值:如果函数成功,则返回非零值;否则返回0。

参数:
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_POSTMSGSLB_DIR 标志。如果设置了LB_DIR标志,Windows将DlgDirList产生的消息放入应用程序的队列,否则,它们被直接发送到对话框过程。
DDL_DRIVES驱动器。如果设置了DDL_DRIVES标志,就会自动设置DDL_EXCLUSIVE标志。因此,要创建包括驱动器和文件的目录列表,你必须两次调用DlgDirList:第一次使用DDL_DRIVES标志,第二次使用列表中其它标志。
DDL_EXCLUSIVE不相容的位。如果设置了这个位,则只列出指定类型的文件;否则列出普通文件和指定类型的文件。

说明:
这个函数用文件或目录列表来填充一个列表框。DlgDirList向列表框发送LB_RESETCON_TENT和LB_DIR消息。它用与lpPathSpec指定的路径匹配的所有文件的名字填充nIDListBox指定的列表框。
lpPathSpec参数具有如下形式:
[drive:] [[\u]directory[\idirectory]...\u] [filename]
在这个例子中,drive是驱动器字母,directory是有效的目录名,filename是有效的文件名,它必须至少包含一个通配符。通配符是一个问号(?),它意味着与任何字符匹配,还有星号(*),它意味着与任意个数的字符匹配。
如果你为lpPathSpec指定了一个0长度的字符串,或者你只指定了目录名却没有包含任何文件描述,则字符串将变为“*.*”。
如果lpPathSpec中包括了驱动器和/或目录名,则在填充列表框之前,当前驱动器和目录将被改变到设定的驱动器和目录。由nIDStaticPath指定的文本控件也被更新为新的驱动器和/或目录名。
在列表框被填充以后,lpPathSpec将被更新为去掉驱动器和/或目录部分的路径。

请参阅:CWnd::DlgDirListComboBox, ::DlgDirList