WEB开发网
开发学院软件开发VC Visual C++程序的建立~~6 阅读

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);/

Visual C++程序的建立~~6

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

上一页  3 4 5 6 7 8 

Tags:Visual 程序 建立

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接