Структура 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. Возвращаются только каталоги файловой системы. Если пользователь выбирает папки, которые не являются частью файловой системы, кнопка ОК будет выделена серым цветом.

Примечание Кнопка ОК остается включенной для элементов "\\server", а также "\\server\share" и элементов каталога. Однако если пользователь выбирает элемент \\server, передача PIDL, возвращенного SHBrowseForFolder, в SHGetPathFromIDList завершается ошибкой.
 

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. Используйте новый пользовательский интерфейс. Установка этого флага предоставляет пользователю более крупное диалоговое окно, которое можно изменить. Диалоговое окно имеет несколько новых возможностей, включая возможность перетаскивания в диалоговом окне, изменение порядка, контекстные меню, новые папки, удаление и другие команды контекстного меню.

Примечание Если COM инициализируется с помощью CoInitializeEx с установленным флагом COINIT_MULTITHREADED, shBrowseForFolder завершается ошибкой при передаче BIF_NEWDIALOGSTYLE.
 

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.

Примечание Если COM инициализируется с помощью CoInitializeEx с установленным флагом COINIT_MULTITHREADED, shBrowseForFolder завершается ошибкой при передаче BIF_USENEWUI.
 

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)