WR LIRE COORDONNEES CURSEUR

4D - Documentation   Français   English   German   4D Write, Commandes par thèmes   4D Write, Liste alphabétique des commandes   4D Write, Constantes par thèmes   Retour   Précédent   Suivant

version 2004.5 (Modifiée)


WR LIRE COORDONNEES CURSEUR (zone; posHoriz; posVert; hauteur)

ParamètreTypeDescription
zoneEntier long4D Write area
posHorizNumériqueCoordonnée horizontale dans la page
posVertNumériqueCoordonnée verticale dans la page
hauteurNumériqueHauteur du curseur

Description

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 :

   Si (Evenement formulaire=Sur impression corps )
      LIRE RECT OBJET(zone4Dwrite;$gauche;$haut;$droit;$bas)
      $postaquet:=Lire taquet impression(Corps formulaire )
      $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 
      DEPLACER OBJET(zone4Dwrite;0;0;0;$décalage)  ` on redimensionne la zone 4D Write
      FIXER TAQUET IMPRESSION(Corps formulaire;$postaquet+$décalage) ` on déplace le taquet
   Fin de si 

La méthode calcultaille est la suivante :

   $zone:=WR Hors ecran 
   WR BLOB VERS ZONE ($zone;[Table 1]Write_)
   WR FIXER PROPRIETE DOCUMENT ($zone;wr unité ;wr pixels)  ` On travaille en pixels

   WR FIXER SELECTION ($zone;1;1)  ` Début du texte
   WR LIRE COORDONNEES CURSEUR ($zone;$hor;$debutver;$curseur1)
   WR FIXER SELECTION ($zone;1000000;1000000)  ` Fin du texte
   WR LIRE COORDONNEES CURSEUR ($zone;$hor;$ver;$curseur2)

   WR DETRUIRE HORS ECRAN ($zone)
   $0:=Troncature(($ver-$debutver+$curseur1+$curseur2)*0,75;0)

Référence

WR LIRE POSITION CURSEUR.


4D - Documentation   Français   English   German   4D Write, Commandes par thèmes   4D Write, Liste alphabétique des commandes   4D Write, Constantes par thèmes   Retour   Précédent   Suivant