Compartilhar via


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

Incorpora os dados de origem na janela de destino, remove os comentários de destino e libera o objeto de dados.

Sintaxe

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

Parâmetros

[in] pDataObj

Um ponteiro para a interface IDataObject no objeto de dados que está sendo transferido na operação de arrastar e soltar.

[in] grfKeyState

O estado atual das teclas modificadoras de teclado no teclado. Os valores possíveis podem ser uma combinação de qualquer um dos sinalizadores MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON e MK_RBUTTON.

[in] pt

Uma estrutura POINTL que contém as coordenadas atuais do cursor em coordenadas de tela.

[in, out] pdwEffect

Na entrada, ponteiro para o valor do parâmetro pdwEffect da função DoDragDrop . No retorno, deve conter um dos sinalizadores DROPEFFECT , que indica qual seria o resultado da operação de descarte.

Valor de retorno

Esse método retorna S_OK com êxito. Outros valores possíveis incluem o seguinte.

Código de retorno Description
DRAGDROP_S_CANCEL
A operação de arrastar e soltar OLE foi cancelada.
E_UNEXPECTED
Ocorreu um erro inesperado.
E_INVALIDARG
O parâmetro pdwEffect não é válido.
E_OUTOFMEMORY
Não há memória suficiente disponível para esta operação.

Observações

Você não chama esse método diretamente. A função DoDragDrop chama esse método quando o usuário conclui a operação de arrastar e soltar.

Ao implementar o Drop, você deve incorporar o objeto de dados ao destino. Use os formatos disponíveis no IDataObject, disponíveis por meio do pDataObj, juntamente com o estado atual das chaves modificadoras para determinar como os dados devem ser incorporados, como vinculação ou inserção.

Além de incorporar os dados, você também deve limpar como faz no método IDropTarget::D ragLeave :

  • Remova todos os comentários de destino exibidos no momento.
  • Libere todas as referências ao objeto de dados.
Você também passa o efeito dessa operação de volta para o aplicativo de origem por meio do DoDragDrop, para que o aplicativo de origem possa ser limpo após a conclusão da operação de arrastar e soltar:
  • Remova todos os comentários de origem que estão sendo exibidos.
  • Faça as alterações necessárias nos dados, como remover os dados se a operação for uma movimentação.

Requirements

Requirement Value
Cliente mínimo suportado Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo compatível Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
Header oleidl.h

Consulte também

DoDragDrop

IDropSource

IDropSourceNotify

IDropTarget

RegisterDragDrop

RevokeDragDrop