Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
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