Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1986 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA - Userform - MouseMove

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA - Userform - MouseMove

n°1644201
AprilThe5t​h
Posté le 16-11-2007 à 18:50:16  profilanswer
 

Mes amis,
 
j'ai mis dans un userform une image qui peut être déplacée par l'utilisateur via une procédure :
 
private sub image_MouseMove(...)
 
pour empécher qu'on ne déplace rop l'image, j'écris :
 
if image.left>10 then exit sub
 
sauf que si on la déplace super vite, on peut l'amener au-delà de 10...
Je pense que comme mousemove se répète en permanence tant qu'on manipule l'image, le rafraichissement est un peu longuet et on peut le prendre de vitesse.
 
Je me disais donc que je pourrais créer un double et le limiter dès le départ :
 
dim Lft as double...
 
et je crois qu'on peut effectivement limiter une variable numérique lors de sa déclaration... non ?
 
Vous avez 1/4 d'heure !
Merci

mood
Publicité
Posté le 16-11-2007 à 18:50:16  profilanswer
 

n°1644346
olivthill
Posté le 17-11-2007 à 10:34:55  profilanswer
 

Je ne crois pas que l'on puisse limiter une variable numérique lors de sa déclaration en VBA (mais je crois qu'on peut  le faire en Cobol dans une certaine mesure).
 
J'ai rencontré le même problème de coordonnées de la souris, qui ne sont pas continues. Parfois, cela peut effectivement passer d'un bout à l'autre de l'écran sans que Windows ne récupère toutes les points intermdiaires.
La solution généralement adoptée est d'utiliser les API nommées SetCapture() et ReleaseCapture().  
 
Bon courage !

n°1644425
devil_k
Posté le 17-11-2007 à 14:06:52  profilanswer
 

plutot que de faire un exit sub, tu peux faire un if image.left>10 then image.left=10
 
Je pense que ça doit passer, ça, non ?

n°1644579
AprilThe5t​h
Posté le 18-11-2007 à 00:08:07  profilanswer
 

Non, le problème ne vient pas de la procédure mais de la lenteur d'exécution.
Si je vais lentement tout va bien si je vais trop vite l'image dépasse de quelques px (en fonction de la vitesse)...
 

n°1698151
NachoLibre
Posté le 06-03-2008 à 12:17:50  profilanswer
 

Salut, j'ai moi une question plus bête, je n'ai pas accès aux fonctions _MouseMove() que ce soit sur mes forms, labels, buttons...
 
J'ai du rater une reference/bibliothèque, quelqu'un pour m'aiguiller?
 
Merci.

n°1699255
otobox
Maison fondée en 2005
Posté le 08-03-2008 à 12:55:48  profilanswer
 

Quand l'image est déplacée trop loin, que se passe t-il ? Une erreur ? Dans ce cas, tu peux peut être récupérer une bonne position d'image en jouant avec le gestionnaire d'erreur et la fonction err.number ?


Message édité par otobox le 08-03-2008 à 12:57:04

---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°1707666
NachoLibre
Posté le 25-03-2008 à 22:10:33  profilanswer
 

Hey, merci pour ta réponse.
Le problème résidait dans mon utilisation de MouseMove()
 
Avant :  

Code :
  1. Private Sub Label_mouseMove()
  2.   'blabla
  3. End sub


Après :  

Code :
  1. Private Sub Label_mouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  2.   'blabla
  3. End sub


 
Et la ça marche.
 
Oui, je sais, c'était pas bien compliqué mais ça m'a fait ch** quelques heures (je suis pas informaticien moi)


Message édité par NachoLibre le 25-03-2008 à 22:11:13

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA - Userform - MouseMove

 

Sujets relatifs
[Non résolu] fermer un userform mais RESTER dans la feuille en coursVBA et requêtes SQL
ouvrir un deuxième fichier excel avec un userform[VBS/VBA] Timeout ou vérifier la disponibilité d'un machine sans ping
Utilisation du Solver en VBA[Aide] Programme VBA exercices
vba - userform - composant calendrier RESOLU[VBA Excel]Compter à l'interieur d'une chaine
[VBA EXCEL] Problème avec partage de classeur !!Userform - Confusion événement Change/Click
Plus de sujets relatifs à : VBA - Userform - MouseMove


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR