PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → détection clic bouton souris milieu
détection clic bouton souris milieu
Débuté par Smokie68, 26 fév. 2016 15:22 - 4 réponses
Membre enregistré
78 messages
Popularité : +1 (1 vote)
Posté le 26 février 2016 - 15:22
Bonjour,

Je travaille sur un programme qui me génère automatiquement du texte selon les paramètres établies. Ce texte un fois générer, je le met automatiquement dans la presse papier.
Je cherche à construire un thread qui me lit automatiquement la souris et détecterai le clic sur le molette de la souris pour vider la presse papier
Windev n'ayant pas de fonction pour détecter cette touche, il faut utiliser d'après ce que j'ai lui, la dll : souris-event.
Hors, je ne trouve pas cette dll, je ne sais pas où la télécharger et je ne sais pas non plus la syntaxe pour l'utiliser.
Il s'agirait de l’éventement MOUSEEVENTF_MIDDLEDOWN = 32.

Cordialement
Jean-Paul
Membre enregistré
355 messages
Popularité : +37 (39 votes)
Posté le 26 février 2016 - 16:23
Bonjour Jean-Paul,

> Windev n'ayant pas de fonction pour détecter cette touche, il faut utiliser d'après ce que j'ai lui, la dll : souris-event.

Tous les événements Windows peuvent être détectés par Windev en utilisant la fonction du wlangage "Evénement".
Dans le cas les boutons du milieu de la souris les 3 évenements :
WM_MBUTTONDOWN = 0x0207
WM_MBUTTONUP = 0x0208
WM_MBUTTONDBLCLK = 0x0209
peuvent être interceptés sans problème.

Bon dev.
A+

--
Francis MOREL
http://www.SoftProtect.fr
Membre enregistré
344 messages
Popularité : +24 (28 votes)
Posté le 27 février 2016 - 17:52
Tu as raison Francis

Comment on pourrais gérer le clic, le double clic, la molette, le survol pas l’atterrissage bien sur.
Nous nous sommes de la vielle école. Nous nous lisons l'aide en ligne cela fait mal au yeux mais nous la lisons quand mê
Parfois même nous utilisons un livre.
mais ca c'est une autre époque.

--
Utiliser l'aide avant que l'on vous aide
Bon développement
Alain PETTITI (apettiti.cg06.fr)
Avec licence PCSOFT certifiée et abonnement LST
Je peux prendre la main avec teamwiever
Apprentissage Windev : http://apprentissagewindev.blogspot.fr
Membre enregistré
355 messages
Popularité : +37 (39 votes)
Posté le 27 février 2016 - 19:05
Bonjour Alain,

> Comment on pourrais gérer le clic, le double clic, la molette, le survol pas l’atterrissage bien sur.

Pour tous ces événements (clic, double clic, molette, et survol ) tu peux directement l'ajouter dans le code d'un objet.
Certains sont gérés de base (selon l'objet), d'autres sont optionnels et obtenus directement en cliquant sur les "..." en bas de la fenêtre de code.

Pour les événements non proposés on peut toujours les gérer par la fonctions "Evenement".
Par exemple avec :
// Capture du clic souris sur un champ de saisie
WM_LBUTTONDOWN est un entier = 513
Evénement(ClicSouris, "SAI_SAISIE1", WM_LBUTTONDOWN)

// Procédure ClicSouris
Procedure ClicSouris()
...

On peut aussi, si on veut gérer plusieurs événements (ou de la même façon sur plusieurs champs) utiliser
Evénement(GestionEve,"*.*",0)

// Procédure GestionEve
Procedure GestionEve(uMsg, wParam, lParam)
...

puis gérer les paramètres reçus
uMsg : le numéro du message Windows
wParam : le premier paramètre du message (dépend du message)
lParam : le second paramètre du message (dépend du message)

et les variables additionnelles :
MoiMême..Nom : le nom de l'objet
Handle("") : le handle de l'objet qui a reçu le message

Mais tout ceci est bien expliqué dans l'aide à "Evénement"

Nous nous sommes de la vielle école. Nous nous lisons l'aide en ligne cela fait mal au yeux mais nous la lisons quand mê

Utilise la loupe de Windows disponible a partir de C:\Windows\system32\Magnify.exe
Ça peut améliorer la lisibilité

> Parfois même nous utilisons un livre.
En ce qui me concerne, pour cela il faudrait les sortir de la boite !!

A+

--
Francis MOREL
http://www.SoftProtect.fr
Membre enregistré
78 messages
Popularité : +1 (1 vote)
Posté le 29 février 2016 - 15:46
Bonjour tous le monde,
J'ai suivie les conseils de Francis et ça fonctionne à merveille, il n'y a même pas besoin de thread. Le seul soucis, c'est au boulot, mon programme fonctionne sur un VM (partition virtuelle, cession serveur) et je l'installe avec mes dll intégré dans le programme et ça ne marche plus. Il faut peut-être rajouter un composant ?
Merci d'avance à tous, bon développement
Cordialement
Jean-Paul