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。 如果用户在编辑框中键入无效名称,则浏览对话框将使用 BFFM_VALIDATEFAILED 消息调用应用程序的 BrowseCallbackProc。 如果未指定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) |