Función SHDoDragDrop (shlobj_core.h)
Ejecuta una operación de arrastrar y colocar. Admite la creación de origen de arrastre a petición, así como imágenes de arrastrar.
Sintaxis
SHSTDAPI SHDoDragDrop(
[in] HWND hwnd,
[in] IDataObject *pdata,
[in] IDropSource *pdsrc,
[in] DWORD dwEffect,
[out] DWORD *pdwEffect
);
Parámetros
[in] hwnd
Tipo: HWND
Identificador de la ventana utilizada para obtener la imagen de arrastre. Este valor puede ser NULL. Consulte Comentarios para obtener más detalles.
[in] pdata
Tipo: IDataObject*
Puntero a la interfaz IDataObject de un objeto de datos que contiene los datos que se arrastran.
[in] pdsrc
Tipo: IDropSource*
Puntero a una implementación de la interfaz IDropSource , que se usa para comunicarse con el origen durante la operación de arrastre.
A partir de Windows Vista, si este valor es NULL, shell crea un objeto de origen de colocación automáticamente.
[in] dwEffect
Tipo: DWORD
Los efectos que el origen permite en la operación de arrastrar y colocar. El efecto más significativo es si la operación de arrastrar y colocar permite un movimiento. Para obtener una lista de los valores posibles, consulte DROPEFFECT.
[out] pdwEffect
Tipo: DWORD*
Puntero a un valor que indica cómo la operación de arrastrar y colocar afecta a los datos de origen. El parámetro pdwEffect solo se establece si la operación no se cancela. Para obtener una lista de los valores posibles, consulte DROPEFFECT.
Valor devuelto
Tipo: HRESULT
Esta función admite el valor devuelto estándar E_OUTOFMEMORY, así como los siguientes valores:
Código devuelto | Descripción |
---|---|
|
La operación de arrastrar y colocar se realizó correctamente. |
|
Se canceló la operación de arrastrar y colocar. |
|
Se ha producido un error inesperado. |
Comentarios
A partir de Windows Vista, si aún no se almacena una imagen de arrastre en el objeto de datos pdtobj y no se puede obtener una imagen de arrastre de la ventana especificada por hwnd, shell proporciona una imagen de arrastre genérica. No se puede obtener una imagen de arrastre desde la ventana especificada, ya sea porque hwnd es NULL o la ventana especificada no admite el mensaje de DI_GETDRAGIMAGE.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shlobj_core.h (incluya Shlobj.h) |
Library | Shell32.lib |
Archivo DLL | Shell32.dll (versión 6.0 o posterior) |
Conjunto de API | ext-ms-win-shell-shell32-l1-2-1 (introducido en Windows 10, versión 10.0.10240) |