Condividi tramite


Funzione SHDoDragDrop (shlobj_core.h)

Esegue un'operazione di trascinamento della selezione. Supporta la creazione dell'origine di trascinamento su richiesta, nonché il trascinamento delle immagini.

Sintassi

SHSTDAPI SHDoDragDrop(
  [in]  HWND        hwnd,
  [in]  IDataObject *pdata,
  [in]  IDropSource *pdsrc,
  [in]  DWORD       dwEffect,
  [out] DWORD       *pdwEffect
);

Parametri

[in] hwnd

Tipo: HWND

Handle della finestra utilizzata per ottenere l'immagine di trascinamento. Questo valore può essere NULL. Per altri dettagli, vedere La sezione Osservazioni.

[in] pdata

Tipo: IDataObject*

Puntatore all'interfaccia IDataObject su un oggetto dati che contiene i dati trascinati.

[in] pdsrc

Tipo: IDropSource*

Puntatore a un'implementazione dell'interfaccia IDropSource , usata per comunicare con l'origine durante l'operazione di trascinamento.

A partire da Windows Vista, se questo valore è NULL, shell crea automaticamente un oggetto di origine di rilascio.

[in] dwEffect

Tipo: DWORD

Effetti consentiti dall'origine nell'operazione di trascinamento della selezione. L'effetto più significativo è se l'operazione di trascinamento della selezione consente uno spostamento. Per un elenco dei valori possibili, vedere DROPEFFECT.

[out] pdwEffect

Tipo: DWORD*

Puntatore a un valore che indica come l'operazione di trascinamento della selezione ha interessato i dati di origine. Il parametro pdwEffect viene impostato solo se l'operazione non viene annullata. Per un elenco dei valori possibili, vedere DROPEFFECT.

Valore restituito

Tipo: HRESULT

Questa funzione supporta il valore restituito standard E_OUTOFMEMORY, nonché i valori seguenti:

Codice restituito Descrizione
DRAGDROP_S_DROP
L'operazione di trascinamento della selezione è riuscita.
DRAGDROP_S_CANCEL
L'operazione di trascinamento della selezione è stata annullata.
E_UNSPEC
Si è verificato un errore imprevisto.

Commenti

A partire da Windows Vista, se un'immagine di trascinamento non è già archiviata nell'oggetto dati pdtobj e non è possibile ottenere un'immagine di trascinamento dalla finestra specificata da hwnd, shell fornisce un'immagine di trascinamento generica. Un'immagine di trascinamento non può essere ottenuta dalla finestra specificata perché hwnd è NULL o la finestra specificata non supporta il messaggio DI_GETDRAGIMAGE.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlobj_core.h (includere Shlobj.h)
Libreria Shell32.lib
DLL Shell32.dll (versione 6.0 o successiva)
Set di API ext-ms-win-shell-shell32-l1-2-1 (introdotto in Windows 10, versione 10.0.10240)