4D Write v16

WR GET CURSOR COORDINATES

Página Inicial

 
4D Write v16
WR GET CURSOR COORDINATES

WR GET CURSOR COORDINATES 


 

WR GET CURSOR COORDINATES ( area ; posHoriz ; posVert ; altura ) 
Parâmetro Tipo   Descrição
area  Inteiro longo in Área 4D Write
posHoriz  Real in Coordenada horizontal na página
posVert  Real in Coordenada vertical na página
altura  Real in Altura do cursor

O comando WR GET CURSOR COORDINATES devolve as coordenadas do cursor em relação com a esquina superior esquerda da página. Estes valores se expressam na unidade por padrão do documento atual.

Quando o comando se executa com um texto ou uma imagem selecionada na área, podem ser produzidos dois casos:

  • Se a seleção foi realizada por programação,  se considera que o cursor está ao final da seleção.
  • Se a seleção foi realizada de forma manual, se considera que o cursor está onde o botão do mouse foi liberado. Por exemplo, se um parágrafo é selecionado manualmente arrastando o mouse desde a última linha a primeira linha, a posição do cursor será ao princípio da seleção.

O parâmetro altura devolve a altura atual do cursor. Se somente é selecionada uma imagem, se devolve a altura da imagem. 

Exemplo  

A partir da versão 2004.5 de 4D, o comando Print form pode ser utilizada para imprimir áreas 4D Write. Em princípio, estas áreas se imprimem com uma altura fixa. O seguinte exemplo mostra como utilizar os comandos de impressão de 4D e o comando WR GET CURSOR COORDINATES para variar a altura de impressão da área 4D Write em função de seu conteúdo.

  • Este é o método de formulário chamado pelo comando Print form:
 If(Form event=On Printing Detail)
    GET OBJECT RECT(4DWriteArea;$left;$top;$right;$bottom)
    $markerpos:=Get print marker(Form detail)
    $areaheight:=$bottom-$top  ` altura da área 4D Write
    $newheight:=sizecalcul
  ` sizecalcul devolve a altura da área 4D Write em função de seu conteúdo
  ` este método é mostrado a continuação
    $shift:=$newheight-$areaheight
    MOVE OBJECT(4DWriteArea;0;0;0;$shift` redimensionamento da área 4D Write
    SET PRINT MARKER(Form detail;$markerpos+$shift` mover o marcador
 End if
  • A continuação o método sizecalcul:
 $area:=WR New offscreen area
 WR BLOB TO AREA($area;[Table 1]Write_)
 WR SET DOC PROPERTY($area;wr unit;2) ` Estamos trabalhando em píxels
 
 WR SET SELECTION($area;1;1) ` Início do texto
 WR GET CURSOR COORDINATES($area;$hor;$startvert;$cursor1)
 WR SET SELECTION($area;1000000;1000000) ` Fim do texto
 WR GET CURSOR COORDINATES($area;$hor;$vert;$cursor2)
 WR DELETE OFFSCREEN AREA($area)
 $0:=Trunc(($vert-$startvert+$cursor1+$cursor2)*0.75;0)



Ver também 

WR GET CURSOR POSITION

 
PROPRIEDADES 

Produto: 4D Write
Tema: WR Opções da área
Número 89438

 
HISTÓRIA 

Modificado: 4D Write 2004.5

 
ARTICLE USAGE

4D Write - Linguagem ( 4D Write v16)