vialstephane
Messages postés89Date d'inscriptionmercredi 29 octobre 2003StatutMembreDernière intervention22 mai 2008
-
24 mars 2007 à 19:13
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
24 mars 2007 à 22:54
Bonjour,
J'aimerais savoir comment on peut detecter le double clic souris n'importe ou sur l'ecran et lancer une action à partir de celui-ci.
merci
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 24 mars 2007 à 22:23
Bien...
Désolé, et voici pourquoi, avec précision :
- On ne peut être débutant et , à la fois, utiliser la fonction GetAsyncKeyState (connaissances évoluées) et ne pas comprendre le code simple que je t'ai montré.
- Débutant ? oui, je l'ai été (et totalement seul) ... mais j'ai débuté... en débutant.
Le code du click donné au dessus est un code ne faisant appel à naucune connaissance évoluée... (de l'élémentaire)
Stopclic est une constante et elle a ici la valeur 0.3 .
la seule lecture de If Abs(Timer - couic) < stopclic Then devrait te faire comprendre ce que représente cette valeur (0.3 secondes)
Timer est le nom d'une fonction VB (lis ce que tu trouves pour Timer dans ton aide en ligne (pas le contrôle Timer , mais la FONCTION Timer)
Je ne suis pas énervé, mais très surpris.... c'est certain...
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 24 mars 2007 à 21:18
Tiens,
je viens de m'amuser (sous VB , pas sous VB.Net... mais l'adaptation est on ne peut plus facile) à contrôler un double click sir un bouton de commande, sans même ajouter un contrôle timer.
Il s'agit là d'une démonstration d'un double click dans ton application, mais le principe du mécanisme reste le même pour l'ensemble de ton écran, dès lors que su sais relever un click... Il te suffit donc de t'en inspirer (et s'il ne te convient pas, je t'en fais un autre avec une variable statique au lieu de la variable couic déclarée ici)
Private couic As Single
Private Sub Command2_Click()
Const stopclic As Single = 0.3
If Abs(Timer - couic) < stopclic Then
couic = Timer - stopclic
MsgBox " là tu as double-cliqué"
Else
couic = Timer
End If
End Sub
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 24 mars 2007 à 21:56
Excuse-moi, mais :
à moins que tu n'aies fait un copier-coller sans rien y comprendre,
je ne vois pas où serait ta difficulté à assimiler ce que te retourne ta fonction GetAsyncKeyState quand tu presses le bouton gauche et quand (mon exemple) tu cliques !!!!
vialstephane
Messages postés89Date d'inscriptionmercredi 29 octobre 2003StatutMembreDernière intervention22 mai 2008 24 mars 2007 à 22:10
Si je pose une question sur un forum c'est pour avoir une reponse, sinon je ne vois pas l'interet.
Je sais ce que ma fonction retourne mais je comprends pas ce que represente ton stopclic et timer.
Je ne vois vraiment pas ce qui t'enerve.
Au debut quand tu as commencer à programmer tu n'as jamais eu de difficulté à assimiler des choses ?
et bien moi si et j'en suis désolé mais merci quand meme je vais essayer de comprendre ta reponse.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 24 mars 2007 à 22:16
salut,
jmfmarques -> apparemment c'est le double click sur toute la surface de l'écran, pas forcément dans son appli
vialstephane -> recherche avec "hook souris", tu auras des pistes plus que complètes ;)
++
PCPT [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 24 mars 2007 à 22:31
Bonsoir CPT,
Je l'ai bien compris ! (je lui ai même demandé ... ma 1ère question... s'ilo savait déjà "relever" un tel clicl sur l'écran total.... et il a répondu que oui.
Celà ne change absolument rien (je le lui ai dit) au type de mécanisme qu'il doit appliquer à son retour de fonction exactement de la même manière....
En résumé et pour être très clair : deux retours de fonctions (celle là où n'importe quelle autre) envoyés à ce mécanisme de vérification de ce que le 2ème retour intervient moins de 0.3 secondes après le premier déclencherait la msgbox ... c'est tout et c'est simple...
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 24 mars 2007 à 22:42
Bon...
Tu auras ainsi eu l'occasion de découvrir cette fonction et j'en suis heureux.
Pardonne-moi de t'avoir un peu "bousculé", mais c'est un peu dans ma nature et çà correspond principalement à ma volonté de faire avancer les autres...(c'est en réalité une forme de générosité particulière)