我在OnMouseMove(UINT nFlags, CPoint point)函数里加入了以下代码:if ((point.x > m_pRectLinkEmail1.left && point.x < m_pRectLinkEmail1.right
&& point.y > m_pRectLinkEmail1.top && point.y < m_pRectLinkEmail1.bottom)
|| (point.x > m_pRectLinkEmail2.left && point.x < m_pRectLinkEmail2.right
&& point.y > m_pRectLinkEmail2.top && point.y < m_pRectLinkEmail2.bottom))
{
HCURSOR hCursor;
hCursor = AfxGetApp()->LoadCursor(IDC_HAND);
SetCursor(hCursor);
}
else
{
HCURSOR hCursor;
hCursor = AfxGetApp()->LoadCursor(IDC_IBEAM);
SetCursor(hCursor);
}想实现在m_pRectLinkEmail1和m_pRectLinkEmail2的区域里鼠标显示手型。
但是运行后的结果是在整个对话框区域里,鼠标变得很不稳定,根本就看不到鼠标在哪里了。这是什么问题?还请高手指点!!!
&& point.y > m_pRectLinkEmail1.top && point.y < m_pRectLinkEmail1.bottom)
|| (point.x > m_pRectLinkEmail2.left && point.x < m_pRectLinkEmail2.right
&& point.y > m_pRectLinkEmail2.top && point.y < m_pRectLinkEmail2.bottom))
{
HCURSOR hCursor;
hCursor = AfxGetApp()->LoadCursor(IDC_HAND);
SetCursor(hCursor);
}
else
{
HCURSOR hCursor;
hCursor = AfxGetApp()->LoadCursor(IDC_IBEAM);
SetCursor(hCursor);
}想实现在m_pRectLinkEmail1和m_pRectLinkEmail2的区域里鼠标显示手型。
但是运行后的结果是在整个对话框区域里,鼠标变得很不稳定,根本就看不到鼠标在哪里了。这是什么问题?还请高手指点!!!
改成:hCursor = ::LoadCursor(NULL,IDC_IBEAM);
试试
hwnd是要设置鼠标形状的窗口句柄,窗口的Cursor优先级高于全局Cursor
HCURSOR hCursor = AfxGetApp()->LoadStandardCursor( IDC_HAND );::SetClassLong( this->m_hWnd, GCL_HCURSOR, ( long )hCursor );
刚刚测试成功,显示手型。