On Drag Over
Code | Pode ser chamado por | Definição |
---|---|---|
21 | Área 4D Write Pro - Botão - Grade de botões - Caixa de seleção - Lista suspensa - Lista Hierárquica - Entrada - Caixa de Lista - Coluna de caixa de lista - Botão de imagens - Menu de imagens pop-up - Área de Plug-in - Indicadores de progresso - Botão de Rádio - Régua - Spinner - Splitter - Stepper - Controle de tabulação | Os dados podem ser largados sobre um objeto |
Descrição
O evento Ao Arrastar Para
é repetidamente enviado para o objeto de destino quando o ponteiro do mouse é movido sobre o objeto. Em resposta a este evento, normalmente:
- Obtenha os dados e assinaturas encontrados no pasteboard (via o comando
GET PASTEBOARD DATA
). - Dependendo da natureza e do tipo de dados na área de transferência, você aceita ou rejeita o arrastar e soltar.
Para aceitar a arraste, o método objeto de destino deve retornar 0 (zero).
Para rejeitar o arraste, o método objeto deve retornar -1 (menos um).
Durante um evento Ao Arrastar Exterior
, o 4D trata o método do objeto como uma função. Se nenhum resultado for devolvido, 4D assume que o arrasto é aceite.
Se aceitar o arrastamento, o objeto de destino é realçado. Se rejeitar o arrastamento, o destino não é realçado. Aceitar a ação de arrastar não significa que os dados arrastados serão inseridos no objeto de destino. Isso significa apenas que se o botão do mouse for solto neste ponto, o objeto de destino aceitaria os dados arrastados e o evento On Drop
seria disparado.
Se você não processar o evento On Drag Over
para um objeto soltável, esse objeto será destacado para todas as operações de arrastar, não importa qual seja a natureza e o tipo dos dados arrastados.
O evento On Drag Over
é a maneira pela qual você controla a primeira fase de uma operação de arrastar e soltar. Você não apenas pode testar se os dados arrastados são de um tipo compatível com o objeto de destino e então aceitar ou rejeitar o arrasto; mas também pode notificar simultaneamente o usuário deste fato, pois o 4D ressalta (ou não) o objeto de destino com base na sua decisão.
O código que manipula um evento 'On Drag Over' deve ser curto e executar rapidamente, porque esse evento é enviado repetidamente para o objeto de destino atual, devido aos movimentos do mouse.
Exemplo
//Destination object method
#DECLARE : Integer
If(Form event code=On Drag Over)
//returns 0 by default
...
If($DataType=Is picture)
return -1
End if
...
End if