Rubrique :Runtime
Comment peut-on déterminer la position de la souris dans une action en C ?

Date: 03.04.2000

L'auteur, ainsi que les membres du Club des Utilisateurs de WinCC® déclinent toute responsabilité sur les scripts, leurs contenus; et plus généralement sur les informations diffusés dans la totalité des pages du site.

Vous pouvez évaluer la position courante de la souris avec la fonction GetCursorPos(LPPOINT lpPoint). La fonction attend en paramètre une adresse sur une structure de type POINT dans laquelle elle pourra déposer les coordonnées du curseur.

L'exemple suivant vous montre une application possible de la fonction GetCursorPos. Vous pouvez par exemple utiliser cette action sur un événement "Clic souris".

 

POINT myPoint;

GetCursorPos(&myPoint);
printf("%d/%d\r\n", myPoint.x, myPoint.y);

SetTagWord("mouse_x",myPoint.x);
SetTagWord("mouse_y",myPoint.y);

L'instruction 'printf("%d/%d\r\n", myPoint.x, myPoint.y)' fait en sorte que les coordonnées du pointeur de la souris apparaissent dans une fenêtre d'application. De plus, deux variables internes ('mouse_x' et 'mouse_y') de type valeur 16 bits non-signée ont été déclaré. Ces variables sont affichées dans des champs d'entrée/sortie. L'image suivante vous donne un aperçu de la fenêtre du Runtime du programme exemple :

Vous trouverez un exemple de projet (WinCC V5.0) dans l'archive 'mauszeiger_1'. Copiez le fichier dans un répertoire et décompactez-le par un double-clic.

mauszeiger_1.exe (1821 KB)

 

IMPORTANT !
Cet exemple/programme est un freeware. Son utilisation est complètement libre, sa copie et son utilisation sont SANS RESTRICTION. Les auteurs et propriétaires de ce programme ne prennent aucune responsabilité pour les fonctionnalités ou la compatibilité de ce logiciel. L'utilisation de ce logiciel est aux risques de l'utilisateur. Ce logiciel étant gratuit, il n'y a pas de garantie, ni demande de correction d'erreur, ni support Hotline.


Automatismes et Systèmes Industriels

Les membres du Club WinCC sur le Ouebe
José Ros - Edito & Tips - jose.ros@asi-system.com
Benjamin Barletta - Web Designer - benjamin.barletta@asi-system.com
Jean-Louis Marin - Contacts - jean-louis.marin@asi-system.com