Поделиться через


Метод IExplorerBrowser::FillFromObject (shobjidl_core.h)

Создает папку результатов и заполняет ее элементами.

Синтаксис

HRESULT FillFromObject(
  [in] IUnknown                    *punk,
  [in] EXPLORER_BROWSER_FILL_FLAGS dwFlags
);

Параметры

[in] punk

Тип: IUnknown*

Указатель интерфейса на исходный объект, который заполняет IResultsFolder. Это может быть IDataObject или любой объект, который можно использовать с INamespaceWalk.

[in] dwFlags

Тип: EXPLORER_BROWSER_FILL_FLAGS

Одно из значений EXPLORER_BROWSER_FILL_FLAGS .

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Объект, переданный через указатель интерфейса , заполняет IResultsFolder.

Параметр dwFlags может быть любым из EXPLORER_BROWSER_FILL_FLAGS или флагов, определенных в параметре wFlagsBrowseObject, за исключением флагов, указывающих на навигацию.

Параметр punk может быть любым объектом, который может использовать INamespaceWalk . При вызове с EBF_SELECTFROMDATAOBJECTpunk должен быть IDataObject , а пространство имен будет находиться на родительском уровне объекта данных, включая все одноранговые элементы, но выбирать только те, которые содержатся в объекте данных. Этот флаг чаще всего используется, когда в foldersETTINGSвключена FWF_CHECKSELECT, что позволяет проверка выбор набора элементов, скомпилированных в объекте данных.

Примечание Если указатель на список идентификаторов элементов (PIDL) в объекте данных является полным, родительская папка не может быть успешно выполнена, так как элементы папки рабочего стола будут добавлены в список.
 
Этот метод может вызываться несколько раз, при этом каждый последующий вызов добавляет дополнительные элементы в представление. Для очистки содержимого папки результатов можно вызвать IExplorerBrowser::RemoveAll. Эта функция должна вызываться с EBF_NODROPTARGET , чтобы пользователи не перетаскивали новые элементы в представление, если это не требуется. Также рекомендуется задать EBO_NAVIGATEONCE , чтобы браузер оставался в папке ResultsFolder, что не позволяет пользователю переходить к папке, которая может быть представлена в объекте данных.

Чтобы управлять элементами в папке результатов напрямую, вызовите метод IExplorerBrowser::GetCurrentView , чтобы получить представление из ExplorerBrowser, а затем запросите у представления папку результатов с помощью GetFolder. Использование папки полученных результатов позволяет более гибко манипулировать данными в папке по сравнению с методами, которые предоставляет IExplorerBrowser .

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)

См. также раздел

FOLDERFLAGS

IExplorerBrowser