WinApi тип данных TBrowseInfo
Описание:
TBrowseInfo = record
hwndOwner: HWND;
pidlRoot: PItemIDList;
pszDisplayName: PAnsiChar;
lpszTitle: PAnsiChar;
ulFlags: UINT;
lpfn: TFNBFFCallBack;
lParam: LPARAM;
iImage: Integer;
end;
Тип TBrowseInfo используется для вызова стандартного диалога выбора папки(принтера или компьютера сети) функцией SHBrowseForFolder.
hwndOwner: Хендл приложения(окна) вызвающего функцию.
pidlRoot: ID элемента которое станет корнем имен в TreeView контроле. По умолчанию "Мой компьютер".
pszDisplayName: Строка которая получает имя выбранной пользователем папки.
lpszTitle: Текст в виде StaticText контрола находящийся над деревом выбора.
ulFlags: флаги, которые задают режим отображения диалога:
BIF_BROWSEFORCOMPUTER - Возвратить только компьютеры. Если пользователь выбрал что-то отличное от компьютеров, то кнопка OK останется серой.
BIF_BROWSEFORPRINTER - Возвратить только принтеры. Если пользователь выбрал что-то отличное от принтеров, то кнопка OK останется серой.
BIF_RETURNONLYFSDIRS - Возвратить только папки файловой системы. Если пользователь выберет папки, которые не являются частью файловой системы, то кнопка OK останется серой. Это необходимо для того если ваша программа не работает с виртуальными папками вроде "Панель управления".
BIF_BROWSEINCLUDEFILES - Диалог просмотра будет отображать файлы вместе с директориями.
BIF_DONTGOBELOWDOMAIN - Не включать сетевые папки Доменного уровня ниже, чем в TreeView контроле.
BIF_RETURNFSANCESTORS - В качестве выбора допустимы только объекты, представленные в файловой системе.
BIF_STATUSTEXT - Включает область статуса в блок диалога. Функция может установить текст посылая сообщения блоку диалога.
BIF_EDITBOX - В диалоговом окне будет присутствовать строка редактирования, таким образом пользователь может набрать имя элемента.
BIF_VALIDATE - Если пользователь введёт неверное имя в строке редактирования, то диалоговое окно вызовет функцию обратного вызова приложения по сообщению BFFM_VALIDATEFAILED.
lpfn: Адрес функции обратного вызова BrowseCallbackProc. Блок диалога вызывает ее, при наступлении событий. Этот параметр может быть NULL. Очень часто приложение использует функцию обратного вызова, чтобы указать исходную папку для просмотра.
lParam: Величина говорящая о том что передает блок диалога в функцию обратного вызова (если она определена).
iImage: Переменная получает иконку связанную с папкой. Иконка определена как индекс в системном списке(кеше) иконок.
Помню когда я работал в страховой компании, необходимо было написать страховой калькулятор, который учитывал бы цены на туры, возраст и количество человек желающих приобрести путевку, что самое интересное программа должна была сохранять результаты в сетевую папку на сервере, именно тут и нашла свое применение данная функция.
Материал взят из:
Русская спpавка по Windows API