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


Метод 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 при успешном завершении. Ниже перечислены другие возможные значения.

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

Комментарии

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

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

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

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

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header oleidl.h

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

Dodragdrop

IDropSource

IDropSourceNotify

IDropTarget

RegisterDragDrop

RevokeDragDrop