Bonjour,
J'ai du mal a trouver l'info, j'ai parcouru la FAQ mais sans resultat.
A t-il un evenement particulier recu lorsque la souris qui se balade sur une fenetre, la quitte ?
Merci.
Bonjour,
J'ai du mal a trouver l'info, j'ai parcouru la FAQ mais sans resultat.
A t-il un evenement particulier recu lorsque la souris qui se balade sur une fenetre, la quitte ?
Merci.
Je crois qu'il y a une option pour activer un certain message WM_MOUSELEAVE, mais j'ignore comment ça réagit sous MFC...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Merci. grace a ton indication j'ai trouvé.
1°) Rajouter dans le BEGIN_MESSAGE_MAP
ON_MESSAGE(WM_MOUSELEAVE, OnMouseLeave)
2°) dans le point h
3°) Dans le constructeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 afx_msg LRESULT OnMouseLeave(WPARAM wParam, LPARAM lParam); bool m_bTracking
4°) Dans le OnMouseMove
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2m_bTracking = false
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if(m_bTracking == false) { TRACKMOUSEEVENT EventTrack; m_bMouseTracking = true; EventTrack.cbSize = sizeof(TRACKMOUSEEVENT); EventTrack.dwFlags = TME_LEAVE ; EventTrack.dwHoverTime = HOVER_DEFAULT; EventTrack.hwndTrack = this->m_hWnd; _TrackMouseEvent(&lpEventTrack); }
5°) en enfin dans :
et ca marche tres bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 LRESULT CSkinChanel::OnMouseLeave(WPARAM wParam, LPARAM lParam) { m_bMouseTracking = FALSE; ....... ....... return TRUE; }
Merci.![]()
Partager