4D v16.3

Drop position

Página Inicial

 
4D v16.3
Drop position

Drop position 


 

Drop position {( colNum|posYimagem )} -> Resultado 
Parâmetro Tipo   Descrição
colNum|posYimagem  Inteiro longo in Número de coluna de list box (-1 se soltar antes da última coluna) ou
posição da coordenada Y da imagem
Resultado  Inteiro longo in • Número (array/list box) ou
• Posição (lista hierárquica) ou
• Posição em string (texto/combo box) de item destino ou
• -1 se soltar antes do último elemento do array ou item da lista
• Posição da coordenada X da imagem

O comando Drop position pode ser utilizado para descobrir a localização, em um objeto de destino “complexo”, onde um objeto foi (arrastado e) soltado.

Geralmente, é utilizado Drop position quando administra um evento arrastar e soltar que se produz em um array, um list box, uma lista hierárquica, um  texto ou um campo de imagem.

  • Se o objeto de destino for um array, o comando retorna um número de elemento.
  • Se o objeto de destino for um list box, o comando retorna um número de linha. Neste caso, o comando também retorna o número de coluna onde se soltou no parâmetro opcional colNum.
  • Se o objeto de destino for uma lista hierárquica, o comando retorna uma posição do elemento.
  • Se o objeto de destino for uma variável ou um campo tipo texto, ou um combo box, o comando retorna uma posição de caractere ao interior da string.
    Em todos os casos, o comando pode retornar -1 se o objeto fonte tiver sido soltado além do último elemento ou do último elemento do objeto de destino.
  • Se o objeto de destino for uma variável ou um campo de tipo imagem, a função retorna a localização horizontal do clique e, no parâmetro opcional posYImagem, a localização vertical do clique. Os valores retornados são expressos em píxels e com relação ao sistema de coordenadas locais.

Se chama Drop position quando processa um evento que não for do tipo arrastar e soltar em um array, um list box, um combo box, uma lista hierárquica, um texto ou uma imagem, o comando retorna -1.

Importante: para que um objeto de formulário aceite os dados soltados, a propriedade Soltável deve estar selecionada. Igualmente, seu método de objeto deve ser ativado pelo evento On Drag Over ou On Drop, para processar estes eventos.

Ver os exemplos do comando DRAG AND DROP PROPERTIES.

No exemplo seguinte, uma lista de somas deve ser dividida por mês e por pessoa. A operação é realizada arrastando e soltando em uma área de rolagem:

O método de objeto do list box contém o seguinte código:

 Case of
    :(Form event=On Drag Over)
       DRAG AND DROP PROPERTIES($fonte;$arrayfila;$procesnum)
       If($fuente=Get pointer("SA1")) `Se soltar provem da área de rolagem
          $0:=0
       Else
          $0:=-1 `Se recusa soltar
       End if
    :(Form event=On Drop)
       DRAG AND DROP PROPERTIES($source;$arrayrow;$procesnum)
       $filanum:=Drop position($colnum)
       If($colnum=1)
          BEEP
       Else
          Case of `Adição dos valores soltados
             :($colnum=2)
                aJoao{$rownum}:=aJoao{$rownum}+SA1{$arrayfila}
             :($colnum=3)
                aMarcos{$rownum}:=aMarcos{$filanum}+SA1{$arrayfila}
             :($colnum=4)
                aPedro{$rownum}:=aPedro{$filanum}+SA1{$arrayfila}
          End case
          DELETE FROM ARRAY(SA1;$arrayfila`Área de atualização
       End if
 End case



Ver também 

Arrastar e Soltar
DRAG AND DROP PROPERTIES

 
PROPRIEDADES 

Produto: 4D
Tema: Arrastar e Soltar
Número 608

 
HISTÓRIA 

Modificado: 4D v11 SQL
Modificado: 4D v12

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)