Partilhar via


Arrastar e soltar

Arrastar e soltar refere-se a transferências de dados nas quais um mouse ou outro dispositivo apontador é usado para especificar a fonte de dados e seu destino. Em uma operação típica de arrastar e soltar, um usuário seleciona o objeto a ser transferido movendo o ponteiro do mouse para ele e mantendo pressionado o botão esquerdo ou algum outro botão designado para essa finalidade. Enquanto continua a pressionar o botão, o usuário inicia a transferência arrastando o objeto para seu destino, que pode ser qualquer contêiner OLE. Arrastar e soltar fornece exatamente a mesma funcionalidade que a área de transferência OLE copiar e colar, mas adiciona feedback visual e elimina a necessidade de menus. Na verdade, se um aplicativo suporta copiar e colar da área de transferência, pouco extra é necessário para suportar arrastar e soltar.

Durante uma operação de arrastar e soltar OLE, as três partes separadas de código a seguir são usadas.

Fonte do código de arrastar e soltar Implementação e utilização
interface IDropSource
Implementado pelo objeto que contém os dados arrastados, referido como a fonte de arrasto .
interface IDropTarget
Implementado pelo objeto que se destina a aceitar o drop, referido como o destino de descarte .
função DoDragDrop
Implementado pelo OLE e usado para iniciar uma operação de arrastar e soltar. Depois que a operação estiver em andamento, ele facilita a comunicação entre a fonte de arrasto e o destino de soltar.

As interfaces IDropSource e IDropTarget podem ser implementadas em um contêiner ou em um aplicativo objeto. A função de arrastar origem ou soltar destino não está limitada a qualquer tipo de aplicativo OLE.

A função OLE DoDragDrop implementa um loop que rastreia o movimento do mouse e do teclado até que o arrasto seja cancelado ou ocorra uma queda. DoDragDrop é a função chave no processo de arrastar e soltar, facilitando a comunicação entre a origem de arrastar e soltar.

Durante uma operação de arrastar e soltar, três tipos de feedback podem ser exibidos para o usuário.

Tipo de feedback Descrição
Feedback da fonte
Fornecido pela fonte de arrasto, o feedback da fonte indica que os dados estão sendo arrastados e não mudam durante o curso do arrasto. Normalmente, os dados são realçados para sinalizar que foram selecionados.
Feedback do ponteiro
Fornecido pela fonte de arrasto, o feedback do ponteiro indica o que acontece se o mouse for liberado a qualquer momento. O feedback do ponteiro muda continuamente à medida que o usuário move o mouse e/ou pressiona uma tecla modificadora. Por exemplo, se o ponteiro for movido para uma janela que não pode aceitar uma queda, o ponteiro mudará para o símbolo "não permitido".
Feedback direcionado
Fornecido pelo alvo de queda, o feedback do alvo indica onde a queda deve ocorrer.

Para obter mais informações, consulte Arrastar responsabilidades de origem.

Transferência de Dados