Структура 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 или сочетание следующих значений. Номера версий — это минимальная версия Shell32.dll, необходимая для shBrowseForFolder для распознавания флагов, добавленных в более поздних выпусках. Дополнительные сведения см. в разделе Версии оболочки и общих элементов управления .
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 в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP, Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | shlobj_core.h (включая Shlobj.h, Shlobj_core.h) |