-
OnClick global
Toujours dans l'idée d'un mini-séquenceur, y a-t-il une possibilité soit de savoir si le bouton gauche de la souris a été cliqué, soit d'associer à ce clic une action, ce qui reviendrait au même?
On peut certes associer un OnClick à un objet mais peut-on associer une fonction OnClick en général même le clic a lieu hors programme?
Je crois que c'est assez difficile. Par exemple, la fonction GetCursorPos (dont je donne un exemple dans mes Remarques) renvoie la position du curseur par rapport à l'écran, y a-t-il une fonction similaire qui renverrait la position des boutons de la souris? Ou alors, y a-t-il une possibilité d'associer à un clic gauche une fonction du programme, laquelle par exemple enegistrerait les coordonnées de la souris au moment de ce clic?
À bientôt
Gilles
-
Je te suggère de regarder cet article :
http://tcharles.developpez.com/simul/
Cordialement,
Arnaud
-
Merci bien Greybird, il n'y a donc pas de solution simple, il semble qu'il faille passer par une DLL pour intercepter un clic de souris.
C'est assez curieux qu'il n'y ait pas plus simple, on intercepte facilement les coordonnées de la souris mais il faut faire des pieds et des mains pour savoir si le bouton gauche a été cliqué (sauf si j'ai lu trop vite le document).
À bientôt
Gilles
-
salut
tu peux sinon utiliser une méthode plus simple (cependant je ne l'ai pas testé)
En utilisant les fonctions SetCapture(HWND hwnd) et ReleaseCapture()
Tous les evenements souris se reporteront aux fonctions de gestions des évènement du contrôle en question (hwnd)
et lorsque tu as capturé le bon evenement, pense à libérer la capture, sinon, il te sera impossible d'accéder aux autres controles par la souris.
Pb: cette méthode ne marche pas avec tous les controles, car il y a certains controles de Borland où leur handle (HWND) n'est pas accessible (tel que le TPaintBox)
voila
tu verras ce que ca donne (c'est juste une piste)