UTILISER LA MOLETTE DE LA SOURIS DANS VB

olilefou - 13 août 2001 à 17:49
LeCarto Messages postés 16 Date d'inscription mardi 28 novembre 2000 Statut Membre Dernière intervention 6 juillet 2007 - 4 mai 2004 à 16:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/1745-utiliser-la-molette-de-la-souris-dans-vb

LeCarto Messages postés 16 Date d'inscription mardi 28 novembre 2000 Statut Membre Dernière intervention 6 juillet 2007
4 mai 2004 à 16:54
Houla mais certainement, faites donc, moi j'ai juste posté ce code pour information, de toutes façons avec VB.Net c'est obsolète, merci d'avoir complété.
sauron1531 Messages postés 1 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 4 mai 2004
4 mai 2004 à 16:30
Salut,
ton code est pas mal, il manque juste le controle pour définir oukélamouse à "out" . Je te conseille de mettre le code suivant à la ligne 42 du code de la form1:

If mPosX > (Form1.Width / Screen.TwipsPerPixelX) Or mPosX < 0 Or _
mPosY < 0 Or mPosY > (Form1.Height / Screen.TwipsPerPixelY) Then
oukélamouse = "Out" ' elle est dehors
Else
' ancien code
oukélamouse = "Form1" 'Valeur par défaut
End If
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
8 mai 2003 à 00:08
Salut. sympa , mais ton code est contraignant à utiliser. Beaucoup de code ( complexe : API ) est necessaire dans la Form. L'ideal, serait, selon moi, de faire faire le boulot directement par ton composant. :
tu lance le hook depuis le composant. ( ex : Wheel.Init / Wheel.Stop ) )
de plus, le composant cité dans le module , lorsque tu detectes un mouvement de la souris est ecris en dur, tu dois donc créer une fonction de hook par form ou les mouvements molette t'interessent.

pour ta variable oukélélamouse , tu peux utiliser l'API WindowFromPoint , qui renvoie le handle de la fenetre survolee....

petite optimisation algorithmique, encore , mieux vaux utiliser un select case , ou un if then.... elseif .... elseif.......end if , plutot que de mettre tant de conditions le unes sous les autres.

dans Form_Load , plutot qu'un goto laSuite , tu peux faire un Exit Sub.....

voila , c'est juste mon point de vue , si tu te dis que je suis un sale con, et que ton code est bien comme ca , libre a toi.... je dis ca pour t'aider.....
ça marche sous vb mais pas dans l'exe !
c clair que c chiant que la molette marche pas sous vb :) thx
Cool
Sha à l'air sympa ...
non ca m'a l'air très pratique je range bien précieusement ce code :)
c'est terrible !!!
Rejoignez-nous