Visual C++程序的建立~~6
2009-06-03 20:04:30 来源:WEB开发网4、在视图类的头文件CMyView.h的public下加成员变量及函数:
HCURSOR m_hCursor; //用于存放光标句柄
int m_hClick;
void LoadCur(UINT CurName);//用于获得要显示鼠标句柄
void GetCur(int ID_NO);//用于得到将要显示鼠标的ID
5、在视图类的执行文件CMyView.cpp中完成自定义的函数功能(全用手写)。
void CMyView::LoadCur(UINT CurName)
{ m_hCursor=AfxGetApp()->LoadCursor(CurName);
}
void CMyView::GetCur(int ID_NO)
{ if(m_hClick>6)
m_hClick=1;
switch(m_hClick)
{ case 1:LoadCur(IDC_CURSOR1);break;
case 2:LoadCur(IDC_CURSOR2);break;
case 3:LoadCur(IDC_CURSOR3);break;
case 4:LoadCur(IDC_CURSOR4);break;
case 5:LoadCur(IDC_CURSOR5);break;
case 6:LoadCur(IDC_CURSOR6);break;
}
}
6、完成鼠标放下、鼠标移动、鼠标抬起消息映射函数的实现功能
void CMyView::OnLButtonDown(UINT nFlags, CPoint point) //鼠标按下
{ ++m_hClick;
GetCur(m_hClick);
SetCursor(m_hCursor);
RECT rect;
GetClientRect(&rect);
ClientToScreen(&rect);
ClipCursor(&rect);
}
void CMyView::OnLButtonUp(UINT nFlags, CPoint point) //鼠标抬起
{ ClipCursor(NULL);
}
void CMyView::OnMouseMove(UINT nFlags, CPoint point) //鼠标移动
{ SetCursor(m_hCursor);
CView::OnMouseMove(nFlags, point);
}
7、在视图类的执行文件CMyView.cpp的构造函数中,加代码:
CMyView::CMyView()
{ m_hClick=0; //初始化m_hClick变量
}
8、编译运行,用鼠标一次一次的单击窗口,将一次一次的出现以上加入的6个不同的光标图形,而将其移到窗口外边时,它又变回了原来的图形,新加入的光标移不出窗口。
系列文章:
Visual C++程序的建立~~1
Visual C++程序的建立~~2
Visual C++程序的建立~~3
Visual C++程序的建立~~4
Visual C++程序的建立~~5
- ››Visual Basic 2008 数学函数
- ››Visual Studio2005中Smart Device的问题
- ››Visual Studio 中根据数据库字段动态生成控件
- ››Visual Studio 11全新黑色主题
- ››Visual Studio 2011 Beta新特性(一):安装VS201...
- ››建立唯美图片特效,十个jQuery插件分享
- ››Visual Studio自定义调试窗体两个小技巧
- ››Visual Studio 2005 Team Edition for Database P...
- ››Visual C#两分钟搭建BHO IE钩子
- ››建立自己的TextView和ImageView的组合View类
- ››Visual C++优化对大型数据集合的并发访问
- ››程序启动画面
更多精彩
赞助商链接