4D Write v16

WR GET CURSOR COORDINATES

Accueil

 
4D Write v16
WR GET CURSOR COORDINATES

WR GET CURSOR COORDINATES 


 

WR GET CURSOR COORDINATES ( zone ; posHoriz ; posVert ; hauteur ) 
Paramètre Type   Description
zone  Entier long in 4D Write area
posHoriz  Réel in Coordonnée horizontale dans la page
posVert  Réel in Coordonnée verticale dans la page
hauteur  Réel in Hauteur du curseur

La commande WR LIRE COORDONNEES CURSEUR retourne les coordonnées du curseur par rapport à l'angle supérieur gauche de la page. Les valeurs sont exprimées dans l'unité courante définie dans les préférences du document.

Lorsque la commande est exécutée alors que du texte ou une image est sélectionné(e) dans la zone 4D, deux cas peuvent se produire:

  • Si la sélection a été créée par programmation, on considère que le curseur est situé à la fin de la sélection.
  • Si la sélection est issue d'une action de l'utilisateur, on considère que le curseur est situé à l'emplacement où le bouton de la souris a été relâché. Par exemple, si l'utilisateur a sélectionné manuellement un paragraphe en partant de la dernière ligne et en remontant vers la première, le curseur sera placé au début de la sélection.

Le paramètre hauteur retourne la hauteur du curseur, c'est-à-dire la taille du caractère situé à sa droite. Si une image est sélectionnée, la hauteur de l'image est retournée.

Exemple  

Depuis la version 2004.5 de 4D, la commande Imprimer ligne permet d'imprimer des zones 4D Write. En principe, ces zones sont imprimées en hauteur fixe. L'exemple suivant montre comment utiliser les commandes d'impression de 4D et la commande WR LIRE COORDONNEES CURSEUR pour faire varier la hauteur d'impression de la zone 4D Write en fonction de son contenu.

  • Voici la méthode du formulaire appelé par la commande Imprimer ligne :
 If(Form event=On Printing Detail)
    GET OBJECT RECT(zone4Dwrite;$gauche;$haut;$droit;$bas)
    $postaquet:=Get print marker(Form detail)
    $hauteurzone:=$bas-$haut  ` hauteur de la zone 4D Write
    $nouvhauteur:=calcultaille
  ` calcultaille retourne la hauteur de la zone 4D Write en fonction de son contenu
  ` cette méthode est présentée ci-dessous
    $décalage:=$nouvhauteur-$hauteurzone
    MOVE OBJECT(zone4Dwrite;0;0;0;$décalage` on redimensionne la zone 4D Write
    SET PRINT MARKER(Form detail;$postaquet+$décalage` on déplace le taquet
 End if
  • La méthode calcultaille est la suivante :
 $zone:=WR New offscreen area
 WR BLOB TO AREA($zone;[Table 1]Write_)
 WR SET DOC PROPERTY($zone;wr unit;wr pixels` On travaille en pixels
 
 WR SET SELECTION($zone;1;1) ` Début du texte
 WR GET CURSOR COORDINATES($zone;$hor;$debutver;$curseur1)
 WR SET SELECTION($zone;1000000;1000000) ` Fin du texte
 WR GET CURSOR COORDINATES($zone;$hor;$ver;$curseur2)
 
 WR DELETE OFFSCREEN AREA($zone)
 $0:=Trunc(($ver-$debutver+$curseur1+$curseur2)*0,75;0)



Voir aussi  

WR GET CURSOR POSITION

 
PROPRIÉTÉS 

Produit : 4D Write
Thème : WR Options de la zone
Numéro : 89438

 
HISTORIQUE 

Modifié : 4D Write 2004.5

 
UTILISATION DE L'ARTICLE

4D Write - Langage ( 4D Write v16)