在CXXXView.h中添加
public:
HCURSOR m_hCursor;
int m_hClick;//
protected:
void LoadCur(UINT CurName);
void GetCur(int ID_NO);
源文件添加
Cvc1010View::Cvc1010View()
{
// TODO: 在此处添加构造代码
m_hClick=0;
}
void Cvc1010View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
++m_hClick;
GetCur(m_hClick);//获取鼠标指针
SetCursor(m_hCursor);
RECT rect;
GetClientRect(&rect);
ClientToScreen(&rect);//该函数将指定点,或者矩形的用户坐标转换成屏幕坐标。
ClipCursor(&rect);//限制鼠标移动范围(在rect内)
CScrollView::OnLButtonDown(nFlags, point);
}
void Cvc1010View::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
SetCursor(m_hCursor);
CScrollView::OnMouseMove(nFlags, point);
}
void Cvc1010View::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
ClipCursor(NULL);
CScrollView::OnLButtonUp(nFlags, point);
}
void Cvc1010View::LoadCur(UINT CurName)
{
//AfxGetApp()返回指向应用程序的单一的CWinApp对象的指针。
m_hCursor=AfxGetApp()->LoadCursorW(CurName);//
}
void Cvc1010View::GetCur(int ID_NO)
{
if(m_hClick>6)
m_hClick=1;
switch(m_hClick)
{
case 1:LoadCur(IDC_NODROP);break;
case 2:LoadCur(IDC_POINTER);break;
case 3:LoadCur(IDC_POINTER_COPY);break;
case 4:LoadCur(IDC_NODROP);break;
case 5:LoadCur(IDC_POINTER);break;
case 6:LoadCur(IDC_POINTER_COPY);break;
}
}
本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/greatverve/archive/2011/03/09/vc100-14.html,如需转载请自行联系原作者