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


Метод IDropTarget::D rop (oleidl.h)

Включает исходные данные в целевое окно, удаляет целевую обратную связь и освобождает объект данных.

Синтаксис

HRESULT Drop(
  [in]      IDataObject *pDataObj,
  [in]      DWORD       grfKeyState,
  [in]      POINTL      pt,
  [in, out] DWORD       *pdwEffect
);

Параметры

[in] pDataObj

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

[in] grfKeyState

Текущее состояние клавиш модификатора клавиатуры на клавиатуре. Возможные значения могут быть сочетанием любого из флагов MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON и MK_RBUTTON.

[in] pt

Структура POINTL , содержащая текущие координаты курсора в координатах экрана.

[in, out] pdwEffect

На входных данных указатель на значение параметра pdwEffect функции DoDragDrop . При возврате должен содержать один из флагов DROPEFFECT , который указывает, какой результат операции удаления будет.

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

Этот метод возвращает S_OK при успешном выполнении. К другим возможным значениям относятся следующие.

Код возврата Description
DRAGDROP_S_CANCEL
Операция перетаскивания OLE была отменена.
E_UNEXPECTED
Произошла непредвиденная ошибка.
E_INVALIDARG
Недопустимый параметр pdwEffect .
E_OUTOFMEMORY
Для этой операции недостаточно памяти.

Замечания

Этот метод не вызывается напрямую. Функция DoDragDrop вызывает этот метод, когда пользователь завершает операцию перетаскивания.

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

Помимо включения данных, необходимо также очистить, как и в методе IDropTarget::D ragLeave :

  • Удалите все целевые отзывы, отображаемые в настоящее время.
  • Выпустите все ссылки на объект данных.
Вы также передаете эффект этой операции обратно в исходное приложение через DoDragDrop, поэтому исходное приложение может очистить после завершения операции перетаскивания:
  • Удалите все отображаемые отзывы о источнике.
  • Внесите необходимые изменения в данные, например удаление данных, если операция была перемещением.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Windows
Header oleidl.h

См. также

DoDragDrop

IDropSource

IDropSourceNotify

IDropTarget

RegisterDragDrop

ОтзывDragDrop