Partager via


SHDoDragDrop, fonction (shlobj_core.h)

Exécute une opération glisser-déplacer. Prend en charge la création de source de glisser à la demande, ainsi que les images de glissement.

Syntaxe

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

Paramètres

[in] hwnd

Type : HWND

Poignée de la fenêtre utilisée pour obtenir l’image de glissement. Cette valeur peut être NULL. Pour plus d’informations, consultez Remarques.

[in] pdata

Type : IDataObject*

Pointeur vers l’interface IDataObject sur un objet de données qui contient les données déplacées.

[in] pdsrc

Type : IDropSource*

Pointeur vers une implémentation de l’interface IDropSource , qui est utilisée pour communiquer avec la source pendant l’opération de glissement.

À partir de Windows Vista, si cette valeur est NULL, l’interpréteur de commandes crée un objet drop source pour vous.

[in] dwEffect

Type : DWORD

Effets que la source autorise dans l’opération glisser-déplacer. L’effet le plus significatif est de savoir si l’opération glisser-déplacer autorise un déplacement. Pour obtenir la liste des valeurs possibles, consultez DROPEFFECT.

[out] pdwEffect

Type : DWORD*

Pointeur vers une valeur qui indique comment l’opération glisser-déplacer a affecté les données sources. Le paramètre pdwEffect est défini uniquement si l’opération n’est pas annulée. Pour obtenir la liste des valeurs possibles, consultez DROPEFFECT.

Valeur retournée

Type : HRESULT

Cette fonction prend en charge la valeur de retour standard E_OUTOFMEMORY, ainsi que les valeurs suivantes :

Code de retour Description
DRAGDROP_S_DROP
L’opération glisser-déplacer a réussi.
DRAGDROP_S_CANCEL
L’opération glisser-déplacer a été annulée.
E_UNSPEC
Une erreur inattendue s'est produite.

Remarques

À partir de Windows Vista, si une image de glissement n’est pas déjà stockée dans l’objet de données pdtobj et qu’une image de glissement ne peut pas être obtenue à partir de la fenêtre spécifiée par hwnd, l’interpréteur de commandes fournit une image de glissement générique. Une image de glissement ne peut pas être obtenue à partir de la fenêtre spécifiée, soit parce que hwnd a la valeur NULL ou que la fenêtre spécifiée ne prend pas en charge le message DI_GETDRAGIMAGE.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shlobj_core.h (inclure Shlobj.h)
Bibliothèque Shell32.lib
DLL Shell32.dll (version 6.0 ou ultérieure)
Ensemble d’API ext-ms-win-shell-shell32-l1-2-1 (introduit dans Windows 10, version 10.0.10240)