Accueil > > > MOUSE SPEED AND WEIGHT : RETOUR DE FORCE VIRTUEL !
MOUSE SPEED AND WEIGHT : RETOUR DE FORCE VIRTUEL !
Information sur la source
Description
Ce code vous permet de ressentir le poids des objets via la souris (ou un trackpad), une sorte de "retour de force" naturel si vous préférez ;) En réalité, il s'agit d'une classe permettant de régler et manipuler la "vitesse" (ratio vitesse/accélération) de la souris de Windows (1 à 20). Pour se faire, on utilise l'API win32 "SystemParametersInfo" avec "SPI_GetMouseSpeed" comme paramètre. En s'initialisant, la classe récupère le paramètre actuel de vitesse de la souris de l'utilisateur et remet tout en place en se terminant via la méthode "Restaure" (que vous pouvez également appeler indépendamment !). La seule propriété est "Speed" (0 à 20) vous permettant de définir ou de récupérer ce réglage Windows. Pour initialiser cette classe dans vos programme : Private objMouseSpeed As New clsMouseSpeed Le programme en soit n'est qu'un exemple presque pas commenté qui permet de déplacer des balles qui ont chacune un poids. Le principe est simple : cliquer sur une balle donne à votre souris une vitesse (qui est en relation avec le poids de la balle en question). Relâcher le bouton remet les paramètres de la souris comme avant. Il est livré avec l'exécutable et sa sources, mais également avec mon contrôle ActivX "PaintedBalls.ocx" sans son code (que vous pouvez retrouver sur ce site).
Source
- Option Explicit
-
- Private Declare Function SystemParametersInfo Lib "user32" _
- Alias "SystemParametersInfoA" (ByVal uAction As Long, _
- ByVal uParam As Long, _
- ByRef lpvParam As Any, _
- ByVal fuWinIni As Long) As Long
- Private Const SPI_GETMOUSESPEED = 112
- Private Const SPI_SETMOUSESPEED = 113
- Private Const SPIF_UPDATEINIFILE = &H1
- Private Const SPIF_SENDCHANGE = &H2
-
- Private lngMouseSpeed_BAK As Long
- Private lngMouseSpeed_NOW As Long
-
- Private Sub Class_Initialize()
- SystemParametersInfo SPI_GETMOUSESPEED, 0, lngMouseSpeed_BAK, 0
- lngMouseSpeed_NOW = lngMouseSpeed_BAK
- End Sub
-
- Private Sub Class_Terminate()
- Call Restore
- End Sub
-
- Public Sub Restore()
- SystemParametersInfo SPI_SETMOUSESPEED, 0, ByVal lngMouseSpeed_BAK, SPIF_UPDATEINIFILE Or SPIF_SENDCHANGE
- End Sub
-
- Property Get Speed() As Byte
- Speed = CByte(lngMouseSpeed_NOW)
- End Property
-
- Property Let Speed(ByVal MouseSpeed As Byte)
- If MouseSpeed < 1 Then MouseSpeed = 1
- If MouseSpeed > 20 Then MouseSpeed = 20
- lngMouseSpeed_NOW = MouseSpeed
- SystemParametersInfo SPI_SETMOUSESPEED, 0, ByVal lngMouseSpeed_NOW, SPIF_UPDATEINIFILE Or SPIF_SENDCHANGE
- End Property
Option Explicit
Private Declare Function SystemParametersInfo Lib "user32" _
Alias "SystemParametersInfoA" (ByVal uAction As Long, _
ByVal uParam As Long, _
ByRef lpvParam As Any, _
ByVal fuWinIni As Long) As Long
Private Const SPI_GETMOUSESPEED = 112
Private Const SPI_SETMOUSESPEED = 113
Private Const SPIF_UPDATEINIFILE = &H1
Private Const SPIF_SENDCHANGE = &H2
Private lngMouseSpeed_BAK As Long
Private lngMouseSpeed_NOW As Long
Private Sub Class_Initialize()
SystemParametersInfo SPI_GETMOUSESPEED, 0, lngMouseSpeed_BAK, 0
lngMouseSpeed_NOW = lngMouseSpeed_BAK
End Sub
Private Sub Class_Terminate()
Call Restore
End Sub
Public Sub Restore()
SystemParametersInfo SPI_SETMOUSESPEED, 0, ByVal lngMouseSpeed_BAK, SPIF_UPDATEINIFILE Or SPIF_SENDCHANGE
End Sub
Property Get Speed() As Byte
Speed = CByte(lngMouseSpeed_NOW)
End Property
Property Let Speed(ByVal MouseSpeed As Byte)
If MouseSpeed < 1 Then MouseSpeed = 1
If MouseSpeed > 20 Then MouseSpeed = 20
lngMouseSpeed_NOW = MouseSpeed
SystemParametersInfo SPI_SETMOUSESPEED, 0, ByVal lngMouseSpeed_NOW, SPIF_UPDATEINIFILE Or SPIF_SENDCHANGE
End Property
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
mouse over [ par trastaroot ]
Salut,je vous explique mon pb! j'ai un histogramme dans excel et je voudrais au passage de la souris sur chaque barre de l'histogramme un commentaire
utilisation de SetCursorPos et Mouse_Event [ par nazzguhl ]
Bonjour,j'ai trouvé dans le forum plusieurs exemples de SetCursorPos et Mouse_Event, je les ai essayés, mais ça ne fonctionne pas comme je l'espérais.
Simuler le CLICK de la souris [ par Gabriel ]
Comment simuler le click + dblclick dse souris?Mouse.ClickMouse.DblClickMERCI
UserControl et event Mouse [ par renocmoa ]
Bonsoir,Je voudrais savoir comment obtenir que les evenements souris (leav, hover...) soit utilisable avec un user control. En effet, par exemple avec
Accélération souris [ par Nil ]
Comme vous le savez, l'accélération souris est fort pratique mais hélas il y a un problème...Sur Windows 98, il n'y en a pas alors j'utilisais MouseWa
Simulation souris [ par didieraucun ]
Bonsoir et bonne année 2008 J'ai trouvé ce code sur ce site qui simule le mouvement et les différents clic d'une souris.Mais je ne sait pas comment l'
Position souris dans fenêtre [ par Londonic ]
BASIC 2008 Projet Wpf J'aimerais modifier mes paramètres d'affichage quand j'enfonce où que je relache le bouton de la souris. Friend Sub OnMouseDo
MOUSE EVENEMENT [ par GHGFSJD ]
Bonsoir, voila je possede un programme qui m'affiche un plugin en jouant un MP3, j'ai constaté que le plugin céssé de s'afficher si la souris cesser
Enregistrement et retranscription mouvements souris [ par pulpul74 ]
Bonjour.Je créé actuellement un programme qui me permet d'enregistrer les mouvement de la souris et de les retranscrire par la suite.Mais j'ai quelque
Etat des piles souris logitech avec logiciel mouseware [ par homer01 ]
Bonjour à tousJ'utilise une souris sans fil logitech avec le logiciel mouseware (de logitech). Lorsque les piles sont usagées une fenetre apparait en
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|