Структура BROWSEINFOA (shlobj_core.h)
Содержит параметры функции SHBrowseForFolder и получает сведения о папке, выбранной пользователем.
Синтаксис
typedef struct _browseinfoA {
HWND hwndOwner;
PCIDLIST_ABSOLUTE pidlRoot;
LPSTR pszDisplayName;
LPCSTR lpszTitle;
UINT ulFlags;
BFFCALLBACK lpfn;
LPARAM lParam;
int iImage;
} BROWSEINFOA, *PBROWSEINFOA, *LPBROWSEINFOA;
Члены
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) |