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


Буфер обмена. Копирование и вставка данных

В этом разделе описывается минимальный объем, необходимый для ввод скопировать и вставить из буфера обмена в приложении OLE. Рекомендуется чтении разделов Объекты данных и источники данных OLE () перед продолжением.

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

Копирование или вырежущ данные

Копировать данные в буфер обмена

  1. Определить, является ли скопировать данные собственный данные или внедренный или связанные элементы.

    • Если встроенный или связанный данные, получите указатель на объект COleClientItem, который был выбран.

    • Если данные собственен и приложение сервера, необходимо создать новый объект, производный от COleServerItem, содержащий выбранные данные. В противном случае создайте объект COleDataSource для данных.

  2. Вызовите функцию-член CopyToClipboard выбранного элемента.

  3. Если пользователь выбрал операции вырезания, копирования, удалите выбранные данные из приложения.

Чтобы просмотреть пример такой последовательности см. в описании функций OnEditCut и OnEditCopy в примерах программы OCLIENT и HIERSVR MFC OLE. Обратите внимание, что эти примеры поддерживают указатель на данный момент выборочным данным, поэтому шаг 1 уже завершен.

Вставить данные

Вставить данные осложнятьле, чем копирование ее, так как в этом случае необходимо использовать формат для использования в вставить данные в приложение.

Вставьте данные из буфера обмена

  1. В представлении по класс реализует интерфейс OnEditPaste, для обработки пользователи выбирая параметр " из меню " Правка ".

  2. В функции OnEditPaste создайте объект COleDataObject и вызовите функцию-член AttachClipboard, чтобы связать этот объект в данные в буфер обмена.

  3. Вызовите COleDataObject::IsDataAvailable для проверки, является ли указанный формат доступен.

    Кроме того, можно использовать COleDataObject::BeginEnumFormats искать другие форматы до тех пор, пока не найдете одно большую часть одетое в приложение.

  4. Запустите вставить формата.

Пример того, как это работает, в разделе реализация функции-члены OnEditPaste в классах представления, определенных в примерах программы OCLIENT и HIERSVR MFC OLE.

Совет

Основные преимущества разделения операцию вставлять в собственную функцию, один и тот же код " может использоваться, если данные удален в приложении во время операции перетаскивания.Как и в OCLIENT HIERSVR, чтобы функциональность OnDrop может также вызывать DoPasteItem, повторного использования кода, написанного для реализации операции ".

Для обработки параметра для вставки в меню " Правка " см. в разделе Диалоговые окна в OLE.

Дополнительные сведения

См. также

Ссылки

Буфер обмена. Использование механизма буфера обмена OLE