Partilhar via


Classe COleDropSource

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Permite que os dados sejam arrastados para um alvo de lançamento.

Sintaxe

class COleDropSource : public CCmdTarget

Membros

Construtores Públicos

Nome Description
COleDropSource::COleDropSource Constrói um COleDropSource objeto.

Métodos Públicos

Nome Description
COleDropFonte::Dê Feedback Altera o cursor durante uma operação de arrastar e largar.
COleDropSource::OnBeginDrag Trata da captura do rato durante uma operação de arrastar e largar.
COleDropSource::QueryContinueDrag Verifica-se se o arrastar deve continuar.

Observações

A classe COleDropTarget trata da parte de receção da operação de arrastar e largar. O COleDropSource objeto é responsável por determinar quando uma operação de arrasto começa, fornecer feedback durante a operação de arrasto e determinar quando a operação de arrasto termina.

Para usar um COleDropSource objeto, basta chamar o construtor. Isto simplifica o processo de determinar que eventos, como um clique do rato, iniciam uma operação de arrastar usando as funções COleDataSource::D oDragDrop, COleClientItem::D oDragDrop ou COleServerItem::D oDragDrop . Estas funções vão criar um COleDropSource objeto para si. Podes querer modificar o comportamento padrão das COleDropSource funções sobrescritas. Estas funções membros serão chamadas nos momentos apropriados pelo framework.

Para mais informações sobre operações de arrastar e largar usando OLE, consulte o artigo OLE arrastar e largar.

Para mais informações, consulte IDropSource no SDK do Windows.

Hierarquia de herança

CObject

CCmdTarget

COleDropSource

Requerimentos

Cabeçalho: afxole.h

COleDropSource::COleDropSource

Constrói um COleDropSource objeto.

COleDropSource();

COleDropFonte::Dê Feedback

Chamado pelo framework após chamar COleDropTarget::OnDragOver ou COleDropTarget::D ragEnter.

virtual SCODE GiveFeedback(DROPEFFECT dropEffect);

Parâmetros

dropEffect
O efeito que gostaria de mostrar ao utilizador, normalmente indicando o que aconteceria se ocorresse uma queda neste ponto com os dados selecionados. Normalmente, este é o valor devolvido pela chamada mais recente para CView::OnDragEnter ou CView::OnDragOver. Pode ser uma ou mais das seguintes opções:

  • DROPEFFECT_NONE Uma queda não seria permitida.

  • DROPEFFECT_COPY Seria realizada uma operação de cópia.

  • DROPEFFECT_MOVE Seria realizada uma operação de movimento.

  • DROPEFFECT_LINK Seria estabelecida uma ligação entre os dados perdidos e os dados originais.

  • DROPEFFECT_SCROLL Uma operação de arrastar de scroll está prestes a ocorrer ou está a ocorrer no alvo.

Valor de retorno

Devolve DRAGDROP_S_USEDEFAULTCURSORS se o arrastar estiver em curso, NOERROR se não estiver.

Observações

Anule esta função para fornecer feedback ao utilizador sobre o que aconteceria se ocorresse uma queda neste ponto. A implementação padrão utiliza os cursores padrão OLE. Para mais informações sobre operações de arrastar e largar usando OLE, consulte o artigo OLE arrastar e largar.

Para mais informações, consulte IDropSource::GiveFeedback, IDropTarget::D ragOver e IDropTarget::D ragEnter no SDK do Windows.

COleDropSource::OnBeginDrag

É chamada pela framework quando ocorre um evento que pode iniciar uma operação de arrasto, como pressionar o botão esquerdo do rato.

virtual BOOL OnBeginDrag(CWnd* pWnd);

Parâmetros

pWnd
Aponta para a janela que contém os dados selecionados.

Valor de retorno

Não nulo se for permitido arrastar, caso contrário 0.

Observações

Anule esta função se quiser modificar a forma como o processo de arrastar é iniciado. A implementação padrão captura o rato e mantém-se em modo de arrastar até o utilizador clicar no botão esquerdo ou direito do rato ou carregar em ESC, altura em que liberta o rato.

COleDropSource::QueryContinueDrag

Depois de iniciada a arrasta, esta função é chamada repetidamente pela estrutura até que a operação de arrasto seja cancelada ou concluída.

virtual SCODE QueryContinueDrag(
    BOOL bEscapePressed,
    DWORD dwKeyState);

Parâmetros

bEscapePressed
Indica se a tecla ESC foi pressionada desde a última chamada para COleDropSource::QueryContinueDrag.

dwKeyState
Contém o estado das teclas modificadoras no teclado. Isto é uma combinação de qualquer número dos seguintes: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON e MK_RBUTTON.

Valor de retorno

DRAGDROP_S_CANCEL se a tecla ESC ou o botão direito for pressionado, ou se o botão esquerdo for levantado antes de começar a arrastar. DRAGDROP_S_DROP se deve ocorrer uma operação de queda. Caso contrário, S_OK.

Observações

Anule esta função se quiser alterar o ponto em que o arrastar é cancelado ou ocorre um drop.

A implementação padrão inicia o drop ou cancela o arrasto da seguinte forma. Cancela uma operação de arrastar quando se pressiona a tecla ESC ou o botão direito do rato. Inicia uma operação de largada quando o botão esquerdo do rato é levantado após o arrastar ter começado. Caso contrário, devolve S_OK e não realiza mais operações.

Como esta função é chamada frequentemente, deve ser otimizada o máximo possível.

Consulte também

Exemplo MFC HIERSVR
Exemplo MFC OCLIENT
Classe CCmdTarget
Gráfico de Hierarquia