Função SHDoDragDrop (shlobj_core.h)
Executa uma operação de arrastar e soltar. Dá suporte à criação de origem de arrastar sob demanda, bem como arrastar imagens.
Sintaxe
SHSTDAPI SHDoDragDrop(
[in] HWND hwnd,
[in] IDataObject *pdata,
[in] IDropSource *pdsrc,
[in] DWORD dwEffect,
[out] DWORD *pdwEffect
);
Parâmetros
[in] hwnd
Digite: HWND
O identificador da janela usada para obter a imagem de arrastar. Esse valor pode ser NULL. Consulte Comentários para obter mais detalhes.
[in] pdata
Tipo: IDataObject*
Um ponteiro para a interface IDataObject em um objeto de dados que contém os dados que estão sendo arrastados.
[in] pdsrc
Tipo: IDropSource*
Um ponteiro para uma implementação da interface IDropSource , que é usada para se comunicar com a origem durante a operação de arrastar.
A partir do Windows Vista, se esse valor for NULL, o Shell criará um objeto de origem de soltar para você.
[in] dwEffect
Tipo: DWORD
Os efeitos que a origem permite na operação de arrastar e soltar. O efeito mais significativo é se a operação de arrastar e soltar permite uma movimentação. Para obter uma lista de valores possíveis, consulte DROPEFFECT.
[out] pdwEffect
Tipo: DWORD*
Um ponteiro para um valor que indica como a operação de arrastar e soltar afetou os dados de origem. O parâmetro pdwEffect será definido somente se a operação não for cancelada. Para obter uma lista de valores possíveis, consulte DROPEFFECT.
Retornar valor
Tipo: HRESULT
Essa função dá suporte ao valor de retorno padrão E_OUTOFMEMORY, bem como aos seguintes valores:
Código de retorno | Descrição |
---|---|
|
A operação de arrastar e soltar foi bem-sucedida. |
|
A operação de arrastar e soltar foi cancelada. |
|
Ocorreu um erro inesperado. |
Comentários
A partir do Windows Vista, se uma imagem de arrastar ainda não estiver armazenada no objeto de dados pdtobj e uma imagem de arrastar não puder ser obtida da janela especificada pelo hwnd, o Shell fornecerá uma imagem de arrastar genérica. Uma imagem de arrastar pode falhar ao ser obtida da janela especificada porque hwnd é NULL ou a janela especificada não dá suporte à mensagem DI_GETDRAGIMAGE.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shlobj_core.h (inclua Shlobj.h) |
Biblioteca | Shell32.lib |
DLL | Shell32.dll (versão 6.0 ou posterior) |
Conjunto de APIs | ext-ms-win-shell32-l1-2-1 (introduzido no Windows 10, versão 10.0.10240) |