Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Fornece diretrizes e convenções para implementar o padrão de controle Drag usando IDragProvider, incluindo informações sobre propriedades e métodos. O padrão de controle Arrastar é usado para oferecer suporte a controles arrastáveis ou controles com itens arrastáveis.
Orientações e convenções de aplicação
Ao implementar o padrão de controle Drag, use estas diretrizes e convenções:
- A interface IDragProvider suporta dois estilos de arrasto diferentes: o estilo de origem/destino e o estilo somente de origem. Você precisa escolher o estilo que funciona melhor para seus cenários de arrastar e soltar:
- Estilo de origem/destino: Cada destino de descarte possível é representado por um elemento que implementa a interfaceIDropTargetProvider. Durante uma operação de arrastar, os eventos de Automação da Interface do Usuário da Microsoft são originados do elemento que está sendo arrastado e dos elementos drop-target.
- Estilo somente origem: Os destinos Drop não são representados por elementos de Automação da Interface do Usuário. Durante uma operação de arrastar, os eventos se originam somente do elemento que está sendo arrastado.
- IDragProvider é uma interface somente leitura destinada a monitorar operações de arrasto. Não é possível usá-lo para controlar uma operação de arrastar. Você pode automatizar as operações de arrasto enviando a entrada do mouse para um controle.
- A propriedade IDragProvider::IsGrabbed é necessária.
- As propriedades IDragProvider::D ropEffect e IDragProvider::D ropEffects são necessárias para uma implementação de estilo somente de origem e proibidas para uma implementação de estilo de origem/destino. Em uma implementação de estilo de origem/destino, os elementos drop-target podem ser consultados quanto aos seus efeitos de drop.
- A propriedade IDragProvider::GrabbedItems representa o arrasto de vários itens. Quando o usuário inicia a operação de arrastar, você precisa criar um novo elemento de automação da interface do usuário para servir como o elemento de origem do evento. Esse novo elemento dispara todos os eventos que o elemento source teria disparado no modo origem/destino ou somente origem, enquanto nenhum dos elementos que estão sendo arrastados dispara quaisquer eventos. Quando a operação de arrastar estiver concluída, destrua o elemento de origem do evento.
- O elemento deve disparar eventos alterados de propriedade para as propriedades DropEffect (UIA_DragDropEffectPropertyId) e DropEffects (UIA_DragDropEffectsPropertyId) quando elas forem alteradas. Eventos alterados de propriedade para as outras propriedades são permitidos, mas podem ser inferidos a partir dos eventos necessários DragStart (UIA_Drag_DragStartEventId), DragCancel (UIA_Drag_DragCancelEventId) e DragComplete (UIA_Drag_DragCompleteEventId).
Membros necessários para IDragProvider
As propriedades e métodos a seguir são necessários para implementar o IDragProvider interface.
| Membros obrigatórios | Tipo de membro | Observações |
|---|---|---|
| IsGrabbed | Propriedade | Nenhum |
| DropEffect | Propriedade | Necessário para uma implementação do estilo somente fonte. |
| DropEffects | Propriedade | Obrigatório se houver mais de um efeito de queda possível para o item capturado. |
| GetGrabbedItems | Método | Necessário para uma operação de arrastar vários itens. |
| UIA_Drag_DragStartEventId | Evento | Nenhum |
| UIA_Drag_DragCancelEventId | Evento | Nenhum |
| UIA_Drag_DragCompleteEventId | Evento | Nenhum |
Tópicos relacionados
-
Visão geral dos padrões de controle de automação da interface do do usuário
-
Suporte de automação da interface do usuário do para arrastar e soltar