Mousemove, mouseover sur plusieur controle différents?

Signaler
Messages postés
139
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
15 mars 2016
-
Messages postés
139
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
15 mars 2016
-
bonjour,

est il possible d'avoir un événement mousemove "genéral" qui renverait l'objet (form, button label ..) sur lequel le mousemove a lieu ?

et tout ceci sans avoir a déclarer un événement mousemove pas objet.

Merci

Got

8 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut
Oui, il suffit d'indexer tes composants, à condition qu'ils soient du même type.
Sinon, une chose simple : Tu crées une Sub qui fait les actions que tu veux entreprendre et tu appelles cette Sub depuis chacun des évènements de chacun des composants = moins lourd

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
139
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
15 mars 2016

yes c'est bien cela que je voulais éviter passer par les mousemove de chaque objet. Car mes objets sont de type différents. Et les indexer maintenant que le code est écrit serait plus long que de gérer le smousemove lol ...

Merci
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
facile, dans une certaine mesure...
en faisant un SetCapture avec le hWnd du controle qui doit recevoir les notifications.


que souhaites tu faire, au final ?
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Mettre une ligne (une seule) de code dans l'évènement MouseMovede chaque contrôle considéré, pour appeler une sub paramétrée (avec pour seul paramètre le contrôle considéré) n'est ni la mer à boire, ni gourmand !
Messages postés
139
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
15 mars 2016

je comprend pas trop l'utilisation de l'api setcapture rapidement ça sert à quoi (pour ma culture)

au final je veux afficher une fenêtre (d'aide) lorsque la souris passe au dessus de tel ou tel bouton, label textbox....
et bien sur le contenu de la fenêtre change selon l'objet sur lequel est la souris. Ainsi que la position de la fenêtre...

Mais bon c'est sur que c'est pas la mort de gérer chaque mousemouve. Mais bon ça aurait été plus joli non?
Merci
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
parfait.

en activant cette demande d'aide, tu fais un SetCapture avec le hWnd d'un controle tiers.

en gros, tous les evenements souris (MouseMove, etc.) lui seront transmis, même si ce n'est pas lui que l'on survolle.

(ReleaseCapture, pour l'annuler)

jouer ensuite avec les coordonnées pour savoir a qui tu as a faire
Messages postés
139
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
15 mars 2016

j'avais pensé à me servir des coordonnées (mais via un timer lol on joue pas dans la même cours :-p ) mais si je fait ça je serai relativement bloqué pour tous ce qui est changement de place des objets.

Je pense rester sur le fait de gérer les événement de chaque objet. Par contre dans l'optique d'appeler la même fonction a partir de chaque événement. Comment passer à cette fonction en paramètre le control où l'on a passer la souris? le but etant de récupérer le nom du control et ses .top .left .... tout ceci dans la fonction et non dans l'event ...

Merci pour tout.
Messages postés
139
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
15 mars 2016

c'est bon c'est trouvé.

Merci pour vos différentes intervention...