BROWSEINFOW 结构 (shlobj_core.h)
包含 SHBrowseForFolder 函数的参数,并接收有关用户选择的文件夹的信息。
语法
typedef struct _browseinfoW {
HWND hwndOwner;
PCIDLIST_ABSOLUTE pidlRoot;
LPWSTR pszDisplayName;
LPCWSTR lpszTitle;
UINT ulFlags;
BFFCALLBACK lpfn;
LPARAM lParam;
int iImage;
} BROWSEINFOW, *PBROWSEINFOW, *LPBROWSEINFOW;
成员
hwndOwner
类型:HWND
对话框的所有者窗口的句柄。
pidlRoot
类型: PCIDLIST_ABSOLUTE
一个 PIDL,指定要从中开始浏览的根文件夹的位置。 对话框中仅显示命名空间层次结构中的指定文件夹及其子文件夹。 此成员可以为 NULL;在这种情况下,将使用默认位置。
pszDisplayName
类型: LPTSTR
指向缓冲区的指针,用于接收用户选择的文件夹的显示名称。 假定此缓冲区的大小为MAX_PATH个字符。
lpszTitle
类型: LPCTSTR
指向以 null 结尾的字符串的指针,该字符串显示在对话框中的树视图控件上方。 此字符串可用于向用户指定指令。
ulFlags
类型: UINT
指定对话框选项的标志。 此成员可以是 0,也可以是以下值的组合。 版本号是指 SHBrowseForFolder 识别在更高版本中添加的标志所需的最低版本 Shell32.dll。 有关详细信息 ,请参阅 Shell 和公共控件版本 。
BIF_RETURNONLYFSDIRS (0x00000001)
0x00000001。 仅返回文件系统目录。 如果用户选择不属于文件系统的文件夹,“ 确定” 按钮将灰显。
BIF_DONTGOBELOWDOMAIN (0x00000002)
0x00000002。 不要在对话框的树视图控件中包含域级别以下的网络文件夹。
BIF_STATUSTEXT (0x00000004)
0x00000004。 在对话框中包括状态区域。 回调函数可以通过向对话框发送消息来设置状态文本。 指定BIF_NEWDIALOGSTYLE时,不支持此标志。
BIF_RETURNFSANCESTORS (0x00000008)
0x00000008。 仅返回文件系统上级。 上级是命名空间层次结构中根文件夹下的子文件夹。 如果用户选择不属于文件系统的根文件夹的上级,则 “确定” 按钮将灰显。
BIF_EDITBOX (0x00000010)
0x00000010。 版本 4.71。 在浏览对话框中包括允许用户键入项名称的编辑控件。
BIF_VALIDATE (0x00000020)
0x00000020。 版本 4.71。 如果用户在编辑框中键入无效的名称,浏览对话框将调用应用程序的 BrowseCallbackProc ,并 显示BFFM_VALIDATEFAILED 消息。 如果未指定BIF_EDITBOX,则忽略此标志。
BIF_NEWDIALOGSTYLE (0x00000040)
0x00000040。 版本 5.0。 使用新的用户界面。 设置此标志为用户提供了可以调整大小的较大对话框。 对话框具有多个新功能,包括:对话框中的拖放功能、重新排序、快捷菜单、新文件夹、删除和其他快捷菜单命令。
BIF_BROWSEINCLUDEURLS (0x00000080)
0x00000080。 版本 5.0。 浏览对话框可以显示 URL。 还必须设置BIF_USENEWUI和BIF_BROWSEINCLUDEFILES标志。 如果未设置这三个标志中的任何一个,浏览器对话框将拒绝 URL。 即使设置了这些标志,仅当包含所选项目的文件夹支持 URL 时,浏览对话框才会显示 URL。 调用文件夹的 IShellFolder::GetAttributesOf 方法以请求选定项的属性时,文件夹必须设置 SFGAO_FOLDER 属性标志。 否则,浏览对话框将不会显示 URL。
BIF_USENEWUI
版本 5.0。 使用新的用户界面,包括编辑框。 此标志等效于 BIF_EDITBOX |BIF_NEWDIALOGSTYLE。
BIF_UAHINT (0x00000100)
0x00000100。 版本 6.0。 与 BIF_NEWDIALOGSTYLE 结合使用时,将用法提示添加到对话框中,以代替编辑框。 BIF_EDITBOX重写此标志。
BIF_NONEWFOLDERBUTTON (0x00000200)
0x00000200。 版本 6.0。 不要在浏览对话框中包括 “新建文件夹” 按钮。
BIF_NOTRANSLATETARGETS (0x00000400)
0x00000400。 版本 6.0。 当所选项是快捷方式时,返回快捷方式本身的 PIDL,而不是其目标。
BIF_BROWSEFORCOMPUTER (0x00001000)
0x00001000。 仅返回计算机。 如果用户选择计算机之外的任何内容,“确定”按钮就会变灰。
BIF_BROWSEFORPRINTER (0x00002000)
0x00002000。 仅允许选择打印机。 如果用户选择打印机之外的任何内容,“确定”按钮就会变灰。
在 Windows XP 及更高版本中,最佳做法是使用 Windows XP 样式的对话框,将对话框的根设置为“ 打印机和传真 ”文件夹 (CSIDL_PRINTERS) 。
BIF_BROWSEINCLUDEFILES (0x00004000)
0x00004000。 版本 4.71。 浏览对话框显示文件以及文件夹。
BIF_SHAREABLE (0x00008000)
0x00008000。 版本 5.0。 浏览对话框可以显示远程系统上的可共享资源。 这适用于想要在本地系统上公开远程共享的应用程序。 还必须设置BIF_NEWDIALOGSTYLE标志。
BIF_BROWSEFILEJUNCTIONS (0x00010000)
0x00010000。 Windows 7 及更高版本。 允许浏览具有 .zip 文件扩展名的文件夹接合点,例如库或压缩文件。
lpfn
类型: BFFCALLBACK
指向发生事件时对话框调用的应用程序定义函数的指针。 有关详细信息,请参阅 BrowseCallbackProc 函数。 此成员可以为 NULL。
lParam
类型:LPARAM
对话框传递给回调函数的应用程序定义值(如果在 lpfn 中指定)。
iImage
类型: int
一个整数值,用于接收与存储在系统映像列表中的所选文件夹关联的图像的索引。
注解
注意
shlobj_core.h 标头将 BROWSEINFO 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP、Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | shlobj_core.h (包括 Shlobj.h、Shlobj_core.h) |