salut tt le monde,
je voudrais faire un traitement quand la souris quitte une view de mon app mais je n'arrive pas a savoir quand cet événement se passe!!!!
ect ce qu'il existe un message genre MouseOut ???
salut tt le monde,
je voudrais faire un traitement quand la souris quitte une view de mon app mais je n'arrive pas a savoir quand cet événement se passe!!!!
ect ce qu'il existe un message genre MouseOut ???
A la barbare, sur l'événement OnMouseMouve tu récupère les coordonnées du pointeur et tu regardes si il est toujours à l'intérieur de ta fenêtre.
les message WM_MOUSEMOVE ne parviennent plus a ma wnd kand la souris depasse le rectangle de celle-ci ..... qcq a une autre idée
ça y est je l'ai trouvée dans la doc :
ça vous va cher ami ??
Si utilisation MFC avec ClassWizard :
WM_NCMOUSEMOVE
The WM_NCMOUSEMOVE message is posted to a window when the cursor is moved within the nonclient area of the window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.
CWnd::OnNcMouseMove
afx_msg void OnNcMouseMove( UINT nHitTest, CPoint point );
Sinon on peut aussi procéder de la sorte:
Obtenir la zone cliente avec GetClientRect
et regarder si le pointeur de souris y est avec PtInRect
Impossible !!!ca ne marche pas non plus
etenclin a déjà donné une possibilité :
Obtenir la zone cliente et tester si la souris (coordonnées )est dedans
Quel type d'appli : avec vues splitter , MDI ?je voudrais faire un traitement quand la souris quitte une view de mon app mais je n'arrive pas a savoir quand cet événement se passe!!!!
Dans l'événement WM_MOUSEMOVE tester si on est dans la zone cliente et sinon faire le traitement
a mes modestes connaissances les messages WM_MOUSEMOVE ne parviennent a une fenetre ke si le pointeur est ds le rectangle de cette meme fenetre!!!!!!!!!!!!!!!!
Bonjour,
Lorsque la fenetre recois son premier message WM_MOUSEMOVE,
il faut faire appel a la fonction SetCapture() alors a ce moment,
la fenetre recevra tous les message meme ceux en dehors
il faut alors voir si le curseur de la souris est a l'intérieur ou
a l'exterieur de la fenetre. Lors qu'il est a l'exterieur, faites le traitement
puis ReleaseCapture().
Salut
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager