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.
Version imprimable
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...
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 constructeurCode:
1
2
3 afx_msg LRESULT OnMouseLeave(WPARAM wParam, LPARAM lParam); bool m_bTracking
4°) Dans le OnMouseMoveCode:
1
2m_bTracking = false
Code:
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:
1
2
3
4
5
6
7
8 LRESULT CSkinChanel::OnMouseLeave(WPARAM wParam, LPARAM lParam) { m_bMouseTracking = FALSE; ....... ....... return TRUE; }
Merci. :)