Compartilhar via


CView::OnDropEx

Chamado pela estrutura quando o usuário liberar um objeto de dados sobre o alvo da operação de soltar válido.

virtual DROPEFFECT OnDropEx( 
   COleDataObject* pDataObject, 
   DROPEFFECT dropDefault, 
   DROPEFFECT dropList, 
   CPoint point  
);

Parâmetros

  • pDataObject
    Pontos a COleDataObject que é solto no destino alvo.

  • dropDefault
    O efeito que o usuário escolheu a operação de soltar padrão com base no estado principal atual. Pode ser DROPEFFECT_NONE. Os efeitos de soltar são discutidos na seção comentários.

  • dropList
    Uma lista dos efeitos que a origem da operação de soltar oferece suporte. Os valores do efeito de soltar podem ser combinados usando o OPERADOR bit a bit ( **|**Operação.) Os efeitos de soltar são discutidos na seção comentários.

  • point
    A posição atual do mouse em relação à área cliente de exibição.

Valor de retorno

O efeito da operação que resultou try subjacente no local especificado por point. Isso deve ser um dos valores indicados pelo dropEffectList. Os efeitos de soltar são discutidos na seção comentários.

Comentários

a implementação padrão é não fazer nada e retornar um valor fictício (-1) para indicar que a estrutura deve chamar o manipulador de OnDrop .

Substituir essa função para implementar o efeito da direita de um botão direito do mouse e para soltar. A o arrastar e soltar o botão direito do mouse exibem normalmente um menu das opções quando o botão direito do mouse é liberado.

Sua sobrescrita de OnDropEx deve consultar o botão direito do mouse. Você pode chamar GetKeyState ou armazenar o estado do botão direito do mouse do manipulador de OnDragEnter .

  • Se o botão direito do mouse está pressionada, a substituição deve exibir um menu pop-up que oferece suporte a efeitos de soltar pela origem da operação.

    • Examine dropList para determinar os efeitos de soltar suportados pela origem da operação. Ativar somente essas ações no menu pop-up.

    • Use SetMenuDefaultItem para definir a ação padrão baseada em dropDefault.

    • Finalmente, pegue a ação indicada pela seleção do usuário de menus pop-up.

  • Se o botão direito do mouse não estiver pressionada, a substituição deve processar esta como uma solicitação padrão da operação. Use o efeito de soltar especificado em dropDefault. Como alternativa, sua sobrescrita pode retornar o valor fictício (-1) para indicar que manipulará OnDrop esta operação de soltar.

Use pDataObject para examinar COleDataObject para o formato de dados e os dados da área de transferência ignorados no ponto especificado.

Os efeitos de soltar descrevem a ação associada a uma operação de soltar. Consulte a seguir lista de efeitos de soltar:

  • a operação deDROPEFFECT_NONE A não será permitida.

  • a operação de cópia deDROPEFFECT_COPY A seria executada.

  • a operação de movimentação de ADROPEFFECT_MOVE seria executada.

  • o link de ADROPEFFECT_LINK de dados ignorados para os dados originais deve ser estabelecida.

  • DROPEFFECT_SCROLL indica que uma operação de rolagem de arrasto é o ponto de ocorrer ou está ocorrendo no destino.

Para obter mais informações sobre como definir o comando de menu padrão, consulte SetMenuDefaultItem em Windows SDK e CMenu::GetSafeHmenu em este massa.

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CView

Gráfico da hierarquia

CView::OnDragEnter

CView::OnDragOver

CView::OnDrop

CView::OnDragLeave

COleDropTarget::OnDropEx