Como utilizar arrastar-e-soltar (drag-and-drop) no E3.

Embora o E3 não possua nenhum evento específico para tratar essa funcionalidade com os objetos de tela (primitivas gráficas, ActiveX, XControl de usuário, etc), este recurso pode ser desenvolvido facilmente. Este artigo mostra como implementar o recurso de arrastar-e-soltar para a transferência de informações de um objeto a outro.

Definições

Um evento de arrastar-e-soltar pode ser dividido em três ações: um clique contínuo, o movimento do mouse, e o fim do clique (quando o objeto está na posição final a ser alcançada). Como o E3 não suporta o evento de arrastar-e-soltar, esta tarefa será dividida em três etapas para que seja possível criar o tratamento para esse evento. Para implementar esse recurso, é necessário:

  • Determinar quais objetos da tela serão o ponto de partida do evento.
  • Definir previamente quais as propriedades a serem transferidas.
  • Estabelecer quais os possíveis objetos a serem utilizados como destino.

Exemplo: em um menu com três fontes de vídeo quaisquer, existem duas áreas de exibição de vídeo, sendo que qualquer uma delas pode mostrar todas as opções de fonte, e a configuração é feita pelo usuário que estiver logado. Neste caso, é possível utilizar o recurso de arrastar-e-soltar uma fonte qualquer de vídeo em uma das duas áreas de exibição disponíveis. Conforme foi visto anteriormente, teremos como ponto de partida as opções de vídeo e como destino a área de exibição. As propriedades a serem transferidas podem ser o nome da fonte, o número da câmera ou qualquer outra que possibilite que o vídeo correto seja mostrado.

Eventos

Para implementar as três etapas do evento de arrastar-e-soltar, devem ser utilizados três eventos nos objetos do E3:

  1. Clique: para esta etapa, utilize o evento MouseDown do objeto-fonte. Nesse evento, deve-se capturar através de scripts todas as propriedades desejadas, enviando-as para tags internos, objetos de dados (XObject) desenvolvido para receber esses dados, etc.
  2. Soltar o botão: no objeto-destino, o evento MouseUp deve fazer com que as propriedades desejadas recebam os valores capturados no evento Click.
  3. Arrastar: para detectar a chegada do mouse ao objeto-destino, deve-se utilizar um evento de usuário OnMouseOver, que deve ser criado com a propriedade MouseOver do próprio objeto (quando a propriedade for verdadeira). Nesse script, utilize o método SetFocus().

Considerações finais

Depois de montados os três eventos, com seus respectivos scripts, basta executar o projeto e verificar as funcionalidades desenvolvidas. Embora possam haver algumas restrições neste método (por exemplo, a falta de suporte a objetos MS-Forms), ele é o suficiente para que este recurso seja implementado em um projeto.

Anexos:

DragDrop

Este artigo foi útil? Was this post helpful?
Yes0
No1

Leave a Reply

Your email address will not be published.Required fields are marked *