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 或更高版本:Unicode Microsoft层支持 DlgDirSelectExW。 若要使用此功能,必须将某些文件添加到应用程序,如 Windows Me/98/95 系统上用于 Unicode 的 Microsoft 层中所述。

例子

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

注意

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

要求

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

另请参阅

DlgDirList

DlgDirListComboBox

DlgDirSelectComboBoxEx

LB_GETCURSEL

LB_GETTEXT

参考