[SOLVED] How to set cursor IDC_HAND when hover in CMyButton? [SOLVED] [modified]
-
I wanna make cursor IDC_HAND when mouse hover in my CMyButton(derived from CButton). In CMyButton I deal with ON_WM_MOUSEMOVE message, see code below:
void CMyButton::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call defaultASSERT(m\_hWnd); TRACKMOUSEEVENT tevent; tevent.cbSize = sizeof(tevent); tevent.dwHoverTime = 0; tevent.hwndTrack = m\_hWnd; tevent.dwFlags = TME\_LEAVE; \_TrackMouseEvent(&tevent); SetCursor(LoadCursor(NULL, IDC\_HAND));//I set cursor to IDC\_HAND here, but not work. CButton::OnMouseMove(nFlags, point); if (FALSE == m\_bHovered) { m\_bHovered = TRUE; this->Invalidate(TRUE); }
}
Hope I state my problem clearly!
modified on Tuesday, December 2, 2008 1:43 AM
-
I wanna make cursor IDC_HAND when mouse hover in my CMyButton(derived from CButton). In CMyButton I deal with ON_WM_MOUSEMOVE message, see code below:
void CMyButton::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call defaultASSERT(m\_hWnd); TRACKMOUSEEVENT tevent; tevent.cbSize = sizeof(tevent); tevent.dwHoverTime = 0; tevent.hwndTrack = m\_hWnd; tevent.dwFlags = TME\_LEAVE; \_TrackMouseEvent(&tevent); SetCursor(LoadCursor(NULL, IDC\_HAND));//I set cursor to IDC\_HAND here, but not work. CButton::OnMouseMove(nFlags, point); if (FALSE == m\_bHovered) { m\_bHovered = TRUE; this->Invalidate(TRUE); }
}
Hope I state my problem clearly!
modified on Tuesday, December 2, 2008 1:43 AM
-
I wanna make cursor IDC_HAND when mouse hover in my CMyButton(derived from CButton). In CMyButton I deal with ON_WM_MOUSEMOVE message, see code below:
void CMyButton::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call defaultASSERT(m\_hWnd); TRACKMOUSEEVENT tevent; tevent.cbSize = sizeof(tevent); tevent.dwHoverTime = 0; tevent.hwndTrack = m\_hWnd; tevent.dwFlags = TME\_LEAVE; \_TrackMouseEvent(&tevent); SetCursor(LoadCursor(NULL, IDC\_HAND));//I set cursor to IDC\_HAND here, but not work. CButton::OnMouseMove(nFlags, point); if (FALSE == m\_bHovered) { m\_bHovered = TRUE; this->Invalidate(TRUE); }
}
Hope I state my problem clearly!
modified on Tuesday, December 2, 2008 1:43 AM
-
Did you try handling WM_SETCURSOR? This is much easier than trying to deal with mouse messages.
Thanks. It worked! I vote you 5!^_^