问题如上,欢迎您的指教

解决方案 »

  1.   

    HCURSOR SetCursor(
      HCURSOR hCursor   // handle to cursor
    );
      

  2.   

    然后响应MouseMove消息,SetCursor
      

  3.   

    貌似这个不同的IDE方法不一样吧。
    在C++Builder里面挺简单的,按钮有Cursor属性,设为crHandPoint就可以了,鼠标移到按钮显示食指。
      

  4.   

    大概代码如下:m_hHand = AfxGetApp()->LoadStandardCursor(IDC_HAND);
    m_hNormal = AfxGetApp()->LoadStandardCursor(IDC_IBEAM);void CLinkWnd::OnMouseMove(UINT nFlags, CPoint point)
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值

    if (!m_bMouseHover)
    {
    TRACKMOUSEEVENT tme = {sizeof(TRACKMOUSEEVENT), TME_LEAVE, m_hWnd, 0};
    m_bMouseHover = TrackMouseEvent(&tme);

    ::SetCursor(m_hHand);
    Invalidate();
    }

    CStatic::OnMouseMove(nFlags, point);
    }void CLinkWnd::OnMouseLeave()
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    m_bMouseHover = FALSE;
    ::SetCursor(m_hNormal); Invalidate(); CStatic::OnMouseLeave();
    }BOOL CLinkWnd::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    return TRUE;
    return CStatic::OnSetCursor(pWnd, nHitTest, message);
    }
      

  5.   

    从CButton类中派生出一个子类,处理子类中的WM_MOVEMOUSE消息,在其中改变光标。然后将按钮关联到这个子类上去。
    第二种方法是用SetClassLong改变一下按钮窗口的光标。
      

  6.   

    从CButton派生一个新类 响应WM_SETCURSOR消息void CNewButton::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)  
    {
      // TODO: Add your message handler code here and/or call default
      {
      ::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_CROSS));
      return TRUE;
      }
      return CButton::OnSetCursor(pWnd, nHitTest, message);
    }