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 nas coordenadas da 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 remoção.

Valor retornado

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

Código de retorno Descrição
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.

Comentários

Não chame este 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 em IDataObject, disponíveis por meio de 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 limpo como 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 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 foi uma movimentação.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho oleidl.h

Confira também

Dodragdrop

IDropSource

IDropSourceNotify

Idroptarget

RegisterDragDrop

RevokeDragDrop