Создание связанных и внедренных объектов из существующих данных
Обычно пользователь собирает составной документ с помощью буфера обмена или перетаскивания для копирования объекта данных из серверного приложения в приложение контейнера пользователя. С помощью приложений, поддерживающих OLE, пользователь может инициировать передачу с сервера или контейнера. Например, сервер может скопировать данные в буфер обмена в серверном приложении, а затем переключиться в приложение контейнера и выбрать команду "Вставить специальный/внедренный объект" или эквивалентную команду меню, чтобы создать новый внедренный объект из выбранных данных. Кроме того, пользователь может перетаскивать данные из одного приложения в другое. Процесс аналогичен созданию связанного объекта.
Примечание.
Приложение, которое работает как сервер OLE, так и контейнер, может использовать выбор собственных данных для создания внедренного или связанного объекта в новом расположении в одном документе.
Передача данных между сервером OLE и приложениями-контейнерами основана на универсальной передаче данных, как описано в разделе "Передача данных". Серверы OLE и обработчики объектов реализуют IDataObject , чтобы сделать их данные доступными для передачи с помощью буфера обмена или перетаскивания. Объекты OLE поддерживают все обычные форматы буфера обмена. Кроме того, они поддерживают шесть форматов буфера обмена, которые поддерживают создание связанных и внедренных объектов из выбранного объекта данных.
Форматы буфера обмена OLE описывают объекты данных, которые после удаления или вставки в контейнеры OLE становятся внедренными или связанными объектами составных документов. Объект данных представляет эти форматы приложениям-контейнерам в порядке их точности в виде описания данных. Другими словами, объект сначала представляет формат, который лучше всего представляет его, а затем следующий лучший формат и т. д. Это преднамеренное упорядочение позволяет приложению-контейнеру использовать лучший формат.
См. также