4D View v16

PV SET DRAG SIGNATURES

Página Inicial

 
4D View v16
PV SET DRAG SIGNATURES

PV SET DRAG SIGNATURES 


 

PV SET DRAG SIGNATURES ( area ; assinaturas ) 
Parâmetro Tipo   Descrição
area  Inteiro longo in Área 4D View
assinaturas  Array string in Array de assinaturas

O comando PV SET DRAG SIGNATURES define o conteúdo do array assinaturas como assinaturas de "arrastar" para a area.

As assinaturas são cadeias alfanuméricas com conteúdo livre. A longitude máxima de uma assinatura é de 32 caracteres.

Estas são as propriedades da área, definidas utilizando o comando PV SET PROPERTY, que permite indicar as possibilidades de uma área 4D View e as opções relacionadas com arrastar e soltar:

Uma vez arrastar e soltar esteja autorizado, pode interagir com duas áreas (que podem ser a mesma) com a condição de que as áreas contenham ao menos uma assinatura comum de arrastar para a área fonte e de soltar para a área objetivo.

O evento de arrastar e soltar, será interceptado pelo comando PV ON EVENT.

Exemplo  

O seguinte exemplo ilustra um arrastar e soltar entre duas áreas 4D View. Para começar, definimos as assinaturas e o comportamento das áreas, por exemplo, ao mudar de formulário:

 ARRAY TEXT($DDSignatureArray;1)
 $DDSignatureArray{1}:="Signature_1"
 
 PV SET AREA PROPERTY(SourceArea;pv drag trigger;pv trigger on alt click`alt-clic para arrastar
 PV SET AREA PROPERTY(SourceArea;pv drag allowed;pv DD multiple cells)
 PV ON EVENT(SourceArea;pv on drag;"DragDropMethod")
 PV SET DRAG SIGNATURES(SourceArea;$DDSignatureArray)
 
 PV SET AREA PROPERTY(TargetArea;pv drop allowed;pv DD single cell+
 pv DD adjacent cells+pv DD multiple cells)
 PV SET AREA PROPERTY(TargetArea;pv drop mode;pv drop replace only)
 PV ON EVENT(TargetArea;pv on drop;"DragDropMethod")
 PV SET DROP SIGNATURES(TargetArea;$DDSignatureArray`As mesmas assinaturas que arrastar

O método de projeto DragDropMethod será chamado quando se execute um arrastar com alt-clique ou quando ocorre um soltar em uma área objetivo:

 C_LONGINT($1`Referencia da área 4D View
 C_LONGINT($2`Evento
 C_LONGINT($3`Código da tecla (modificar)
 C_LONGINT($4`Número da coluna
 C_LONGINT($5`Número da linha
 C_LONGINT($6`Código ASCII da tecla
 
 C_POINTER(SourceAreaPointer;TargetAreaPointer`Não há onde conservar entre duas chamadas de retorno
 C_BLOB($blob`Porta papéis temporal de arrastar e soltar
 C_LONGINT($currentColumn;$currentRow`Coordenadas da célula atual
 C_LONGINT($destinationColumn;$destinationRow`Coordenadas da célula onde ocorrerá o soltar
 
 Case of
    :($2=pv on drag)
       PV GET DRAG SOURCE($1;SourceAreaPointer) `De onde viemos?
 
    :($2=pv on drop)
       PV GET DROP TARGET($1;TargetAreaPointer) `Para onde vamos?
 
       $blob:=PV Copy to blob(SourceAreaPointer->) `Copia no porta papéis
       $destinationColumn:=PV Get drop info(TargetAreaPointer->;pv drop column)
  `Destino....
       $destinationRow:=PV Get drop info(TargetAreaPointer->;pv drop row`...coordenadas
       PV GET CURRENT CELL(TargetAreaPointer->;$currentColumn;$currentRow)
  `Colar a área atribuída
       PV GOTO CELL(TargetAreaPointer->;$destinationColumn;$destinationRow)
       PV PASTE FROM BLOB(TargetAreaPointer->;$blob;1;1;1;1)
  `Restabelecimento da célula atual uma vez realizada a operação
       PV GOTO CELL(TargetAreaPointer->;$currentColumn;$currentRow)
 End case



Ver também 

PV GET DRAG SIGNATURES
PV SET DROP SIGNATURES

 
PROPRIEDADES 

Produto: 4D View
Tema: PV Arrastar e soltar
Número 15935

 
HISTÓRIA 

Criado por: 4D View 6.8

 
ARTICLE USAGE

4D View Linguagem ( 4D View v16)