LB_DIR消息

将名称添加到列表框显示的列表。 该消息添加与指定字符串和文件属性集匹配的目录和文件的名称。 LB_DIR 还可以将映射的驱动器号添加到列表框。

参数

wParam

要添加到列表框的文件或目录的属性。 此参数可使用以下一个或多个值。

含义
DDL_ARCHIVE
包括存档的文件。
DDL_DIRECTORY
包括子目录。 子目录名称用方括号括起来, ([ ]) 。
DDL_DRIVES
所有映射的驱动器都会添加到列表中。 驱动器以 [-x-] 的形式列出,其中 x 是驱动器号。
DDL_EXCLUSIVE
仅包含具有指定属性的文件。 默认情况下,即使未指定DDL_READWRITE,也会列出读/写文件。
DDL_HIDDEN
包括隐藏文件。
DDL_READONLY
包括只读文件。
DDL_READWRITE
包括没有其他属性的读/写文件。 这是默认设置。
DDL_SYSTEM
包括系统文件。

lParam

指向以 null 结尾的字符串的指针,该字符串指定绝对路径、相对路径或文件名。 绝对路径可以以驱动器号开头, (例如 d:) 或 UNC 名称 (例如 \\ machinename\ sharename) 。

如果字符串指定具有 wParam 参数指定的属性的文件名或目录,则会将文件名或目录添加到列表中。 文件名或目录名称是否包含通配符 (?或 *) ,与通配符表达式匹配且具有 wParam 参数指定属性的所有文件或目录都会添加到列表中。

返回值

如果消息成功,则返回值为添加到列表的姓氏的从零开始的索引。

如果发生错误,则返回值LB_ERR。 如果没有足够的空间来存储新字符串,则返回值LB_ERRSPACE。

备注

LB_INITSTORAGE消息有助于加快包含大量项 (超过 100) 的列表框的初始化。 它保留指定的内存量,以便后续 LB_DIR 消息花费尽可能短的时间。 可以使用 wParamlParam 参数的估计值。 如果高估,则会分配额外的内存;如果低估,则正常分配用于超出请求金额的项。

如果 wParam 包含 DDL_DIRECTORY 标志, 并且 lParam 指定第一级目录(如 C:\TEMP\*)的所有子目录,则列表框将始终包含根目录的“..”条目。 即使根目录具有隐藏或系统属性,并且未指定DDL_HIDDEN和DDL_SYSTEM标志,也是如此。 NTFS 卷的根目录具有隐藏属性和系统属性。

该列表显示长文件名(如果有)。

对于 ANSI 应用程序,系统会使用 CP_ACP 将列表框中的文本转换为 Unicode。 这可能会导致问题。 例如,日语 Windows 中非 Unicode 列表框中的重音罗马字符会出现乱码。 若要解决此问题,请将应用程序编译为 Unicode 或使用所有者绘制的列表框。

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
标头
Winuser.h (包括 Windows.h)

另请参阅

DlgDirList