Método IDropTarget::D rop (oleidl.h)

Incorpora los datos de origen en la ventana de destino, quita los comentarios de destino y libera el objeto de datos.

Sintaxis

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

Parámetros

[in] pDataObj

Puntero a la interfaz IDataObject del objeto de datos que se transfiere en la operación de arrastrar y colocar.

[in] grfKeyState

Estado actual de las teclas modificadoras del teclado en el teclado. Los valores posibles pueden ser una combinación de cualquiera de las marcas MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON y MK_RBUTTON.

[in] pt

Estructura POINTL que contiene las coordenadas actuales del cursor en coordenadas de pantalla.

[in, out] pdwEffect

En la entrada, puntero al valor del parámetro pdwEffect de la función DoDragDrop . En la devolución, debe contener una de las marcas DROPEFFECT , que indica cuál sería el resultado de la operación de colocación.

Valor devuelto

Este método devuelve S_OK cuando funciona correctamente. Otros valores posibles son los siguientes.

Código devuelto Descripción
E_UNEXPECTED
Se produjo un error inesperado.
E_INVALIDARG
El parámetro pdwEffect no es válido.
E_OUTOFMEMORY
No hay suficiente memoria disponible para esta operación.

Comentarios

No se llama a este método directamente. La función DoDragDrop llama a este método cuando el usuario completa la operación de arrastrar y colocar.

Al implementar Drop, debe incorporar el objeto de datos en el destino. Use los formatos disponibles en IDataObject, disponibles a través de pDataObj, junto con el estado actual de las claves modificadoras para determinar cómo se van a incorporar los datos, como vincular o insertar.

Además de incorporar los datos, también debe limpiar como lo hace en el método IDropTarget::D ragLeave :

  • Quite los comentarios de destino que se muestran actualmente.
  • Libere las referencias al objeto de datos.
También se pasa el efecto de esta operación a la aplicación de origen a través de DoDragDrop, por lo que la aplicación de origen puede limpiar una vez completada la operación de arrastrar y colocar:
  • Quite los comentarios de origen que se muestran.
  • Realice los cambios necesarios en los datos, como quitar los datos si la operación era un movimiento.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado oleidl.h

Consulte también

DoDragDrop

IDropSource

IDropSourceNotify

IDropTarget

RegisterDragDrop

RevokeDragDrop