DlgDirSelectComboBoxExA 函数 (winuser.h)
使用 DlgDirListComboBox 函数从填充的组合框中检索当前选定内容。 所选内容被解释为驱动器号、文件或目录名称。
语法
BOOL DlgDirSelectComboBoxExA(
[in] HWND hwndDlg,
[out] LPSTR lpString,
[in] int cchOut,
[in] int idComboBox
);
参数
[in] hwndDlg
类型: HWND
包含组合框的对话框的句柄。
[out] lpString
类型: LPTSTR
指向接收所选路径的缓冲区的指针。
[in] cchOut
类型: int
lpString 参数指向的缓冲区的长度(以字符为单位)。
[in] idComboBox
类型: int
对话框中组合框控件的整数标识符。
返回值
类型: BOOL
如果当前所选内容是目录名称,则返回值为非零值。
如果当前所选内容不是目录名称,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
如果当前所选内容指定目录名称或驱动器号, DlgDirSelectComboBoxEx 函数将删除驱动器号 (和连字符的封闭方括号) ,以便名称或字母已准备好插入到新路径或文件名中。 如果没有选择,则 lpString 指向的缓冲区的内容不会更改。
DlgDirSelectComboBoxEx 函数不允许从组合框中返回多个文件名。
如果字符串长或长于缓冲区,则缓冲区将包含具有终止 null 字符的截断字符串。
DlgDirSelectComboBoxEx 将 CB_GETCURSEL 和 CB_GETLBTEXT 消息发送到组合框。
可以将此函数与所有三种类型的组合框 (CBS_SIMPLE、 CBS_DROPDOWN和CBS_DROPDOWNLIST) 结合使用。
安全警告: 不当使用此函数可能会导致应用程序出现问题。 例如,应为 ANSI 和 Unicode 版本正确设置 nCount 参数。 否则可能会导致缓冲区溢出。 在继续操作之前,应查看 安全注意事项:Microsoft Windows 控件 。
Windows 95 或更高版本:Microsoft Layer for Unicode (MSLU) 支持 DlgDirSelectComboBoxExW 。 若要使用此功能,必须将某些文件添加到应用程序,如 Windows Me/98/95 Systems 上的 Microsoft Layer for Unicode 中所述。
注意
winuser.h 标头将 DlgDirSelectComboBoxEx 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
另请参阅
引用