DlgDirSelectExA 函数 (winuser.h)

从单选列表框中检索当前选定内容。 它假定列表框已由 DlgDirList 函数填充,并且所选内容是驱动器号、文件名或目录名称。

语法

BOOL DlgDirSelectExA(
  [in]  HWND  hwndDlg,
  [out] LPSTR lpString,
  [in]  int   chCount,
  [in]  int   idListBox
);

参数

[in] hwndDlg

类型: HWND

包含列表框的对话框的句柄。

[out] lpString

类型: LPTSTR

指向接收所选路径的缓冲区的指针。

[in] chCount

类型: int

lpString 指向的缓冲区的长度(以 TCHAR 为单位)。

[in] idListBox

类型: int

对话框中列表框的标识符。

返回值

类型: BOOL

如果当前所选内容是目录名称,则返回值为非零值。

如果当前所选内容不是目录名称,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

DlgDirSelectEx 函数将所选内容复制到 lpString 参数指向的缓冲区。 如果当前所选内容是目录名称或驱动器号, DlgDirSelectEx 会删除驱动器号) (和连字符的封闭方括号,以便该名称或驱动器号已准备好插入到新路径中。 如果没有选择, 则 lpString 不会更改。

如果字符串的长度或长于缓冲区,则缓冲区将包含带有终止 null 字符的截断字符串。

DlgDirSelectExLB_GETCURSELLB_GETTEXT 消息发送到列表框。 函数不允许从列表框中返回多个文件名。 列表框不能是多选列表框。 如果是,则此函数不返回零值, 并且 lpString 保持不变。

Windows 95 或更高版本:Microsoft Layer for Unicode 支持 DlgDirSelectExW 。 若要使用此功能,必须将某些文件添加到应用程序,如 Windows Me/98/95 Systems 上的 Microsoft Layer for Unicode 中所述。

示例

有关示例,请参阅 在单选列表框中创建目录列表

注意

winuser.h 标头将 DlgDirSelectEx 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll

另请参阅

DlgDirList

DlgDirListComboBox

DlgDirSelectComboBoxEx

LB_GETCURSEL

LB_GETTEXT

引用