Обзор папок, вспомнить прежную открытую папку - VB
Формулировка задачи:
Сейчас делаю отдельный компонент который бы при нажатии кнопки
показывал папки в отдельном окне
часть информации собрал на англо-язычных сайтах
там в архиве некоторые коментарии переведены
и читаются ужасно, но понять можно
сам то я вот что хочу выяснить
куда записать значение пути чтоб при повторном вызове окна обзора
эта папка была уже открыта, а корневая папка так-же оставалась бы
рабочим столом
ниже текст + архив прилагаю:
Решение задачи: «Обзор папок, вспомнить прежную открытую папку»
textual
Листинг программы
Option Explicit Public Enum fBrowsFlag ForFolder = 0 ForFiles = 1 End Enum Public Enum BifFlags BIF_RETURNONLYFSDIRS = 1 'Только вернуться каталоги файловой системы. Если пользователь выбирает папки, которые не являются частью файловой системы, кнопка ОК будет недоступна. // Примечание Кнопка ОК остается включенным для "\ \ сервер" предметов, а также "\ \ сервер \ акцию" и предметов каталога. Однако, если пользователь выбирает пункт "\ \ сервер", попутный PIDL возвращаемый SHBrowseForFolder , чтобы SHGetPathFromIDList не удается. BIF_DONTGOBELOWDOMAIN = 2 'Не включайте сетевые папки ниже уровня домена в управления иерархического диалогового окна. BIF_STATUSTEXT = 4 'Включите область состояния в диалоговом окне. Функция обратного вызова можно установить текст состояния, посылая сообщения в диалоговое окно. Этот флаг не поддерживается, если BIF_NEWDIALOGSTYLE указан. BIF_RETURNFSANCESTORS = 8 'Только вернуться файловой системы предков. Предком является вложенной, что это под корневой папке в иерархии пространства имен. Если пользователь выбирает предка корневой папке, что не является частью файловой системы, кнопка ОК будет недоступна. BIF_EDITBOX = 16 'Включите элемент управления редактирования в диалоговом окне просмотра, что позволяет пользователю ввести имя элемента. BIF_VALIDATE = 32 'Если пользователь недопустимое имя в поле редактирования, диалоговое окно просмотра называет приложения BrowseCallbackProc с сообщением BFFM_VALIDATEFAILED. Этот флаг игнорируется, если BIF_EDITBOX не уточняется. BIF_NEWDIALOGSTYLE = 64 'Используйте новый пользовательский интерфейс. Установка этого флага предоставляет пользователю с большим диалоговом окне может быть изменен. Диалоговое окно имеет несколько новых возможностей, в том числе: возможность перетащить и падение в диалоговом окне, изменения порядка, контекстных меню, новые папки, удалять и других команд контекстного меню. // Примечание Если COM инициализируется через CoInitializeEx с COINIT_MULTITHREADED установленным флагом, SHBrowseForFolder терпит неудачу, если BIF_NEWDIALOGSTYLE передается. BIF_USENEWUI = 80 'Используйте новый пользовательский интерфейс, в том числе в поле ввода. Этот флаг эквивалентен BIF_EDITBOX | BIF_NEWDIALOGSTYLE. // Примечание Если COM инициализируется через CoInitializeEx с COINIT_MULTITHREADED установленным флагом, SHBrowseForFolder терпит неудачу, если BIF_USENEWUI передается. BIF_BROWSEINCLUDEURLS = 128 'Диалоговое окно просмотра может отображать URL. Флаги BIF_USENEWUI и BIF_BROWSEINCLUDEFILES также должен быть установлен. Если любой из этих трех флагов не установлен, то в диалоговом окне Браузер отвергает URL. Даже когда эти флаги установлены, диалоговое окно обзора отображает URL-адреса, только если папка, которая содержит выбранный элемент поддерживает URL. Когда папка в IShellFolder :: GetAttributesOf метод называется запросить атрибуты выбранного элемента, папка должна установить флаг атрибута SFGAO_FOLDER. В противном случае, диалоговое окно просмотра не будет отображать URL. BIF_UAHINT = 256 'В сочетании с BIF_NEWDIALOGSTYLE, добавляет намек использования в диалоговое окно, вместо окне редактирования. BIF_EDITBOX отменяет этот флаг. BIF_NONEWFOLDERBUTTON = 512 'Не включайте кнопку New Folder в диалоговом окне просмотра BIF_NOTRANSLATETARGETS = 1024 'Если выбранный элемент является сокращением, вернуть PIDL самого ярлыка, а не его цель. BIF_BROWSEFORCOMPUTER = 2048 'Только вернуть компьютеры. Если пользователь выбирает ничего, кроме компьютера, кнопка ОК будет недоступна. BIF_BROWSEFORPRINTER = 4096 'Только позвольте выбор принтеров. Если пользователь выбирает ничего, кроме принтера, кнопка ОК будет недоступна. BIF_BROWSEINCLUDEFILES = 8192 'Диалоговое окно просмотра отображает файлы, а также папки. BIF_SHAREABLE = 16384 'Диалоговое окно просмотра может отображать совместно используемых ресурсов на удаленных системах. Это предназначено для приложений, которые хотят выставить удаленных акций на локальной системе. Флаг BIF_NEWDIALOGSTYLE также должен быть установлен. BIF_BROWSEFILEJUNCTIONS = 32768 'Windows 7 и выше. Разрешить папки переходов, таких как библиотеки или сжатый файл с расширением. Имя архива, чтобы можно просматривать. End Enum
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д