version 2004
dr_LIRE POSITION SOURIS (zone; horizontal; vertical)
| Paramètre | Type | Description | |
| zone | Entier long | Zone 4D Draw | |
| horizontal | Numérique | Position horizontale du curseur de la souris | |
| vertical | Numérique | Position verticale du curseur de la souris |
Description
La commande dr_LIRE POSITION SOURIS retourne dans les variables horizontal et vertical l'emplacement courant du curseur de la souris. Cette position est calculée par rapport à l'origine de la zone et est exprimée dans l'unité de base (Pouce, Point, Centimètre). La commande dr_Base vers echelle permet de convertir l'unité de base en unité de l'échelle.
La commande retourne l'emplacement du curseur de la souris, que le bouton soit enfoncé ou non. Lors d'un glisser ou d'un redimensionnement, dr_LIRE POSITION SOURIS retourne la position de la souris au moment où le bouton de la souris a été relâché.
Si la commande a été correctement exécutée, la variable système OK prend la valeur 1, sinon elle prend la valeur 0.
Exemple
Cet exemple détaille l'installation d'une méthode process affichant dans une fenêtre séparée les coordonnées de la souris lorsqu'elle survole la zone 4D Draw.
La méthode zDrInfoGetMouse lance le process retournant la position de la souris :
`Méthode zDrInfoGetMouse
C_ENTIER LONG($NewProc)
$NewProc:=Nouveau process("zDrGetMouse";256;"MonTest";Drawzone)
La méthode zDrGetMouse, appelée via le process $NewProc, affiche les coordonnées X et Y de la souris dans une fenêtre jusqu'à ce que l'utilisateur appuie sur la touche Maj :
`Méthode zDrGetMouse
C_REEL($MouseX;$MouseY)
$ref:=Creer fenetre(50;80;300;125;-Fenêtre palette;"Position souris";"CloseBox")
POSITION MESSAGE(1;0)
MESSAGE("Appuyez sur Majuscule pour quitter le process")
POSITION MESSAGE(1;1)
MESSAGE("Valeurs en X / Y")
Repeter
dr_LIRE POSITION SOURIS ($1;$MouseX;$MouseY)
POSITION MESSAGE(1;2)
MESSAGE(Chaine($MouseX)+" / "+Chaine($MouseY)+" ")
Jusque (Majuscule enfoncee)
FERMER FENETRE