目的:学习在MFC中更改鼠标样式。】
相关说明:
光标:Caret
创建:CWnd::CreateCaret();//只能在构造函数里面写
位置:CWnd:;SetCaretPos();
显示:CWnd::ShowCaret();
隐藏:CWnd::HideCaret();
步骤:
创建一个基于单文档的项
添加一个BitMapè适当做一些颜色处理
在view中声明一个CBitmap类型变量ppt;
以及CPoint ptbegin,ptend;
到View构造函数里面添加代码对其进行初始化:
ppt.LoadBitmap(IDB_BITMAP1);
ptbegin=ptend=CPoint(0,0);//初始化光标的位置
在classview中的View中右键添加handelèWM_SETFOUCS
添加代码如下
voidCGuangBiaoView::OnSetFocus(CWnd* pOldWnd)//获取焦点
{ CView::OnSetFocus(pOldWnd);//当View获取到焦点
CreateCaret(&ppt);//创建新的样式的光标
ShowCaret();//显示新的样式的光标
SetCaretPos(ptbegin); //设置新样式光标的初始位置
}
在classview中的View中右键添加handelèWM_LButtondown
添加代码如下:
voidCGuangBiaoView::OnLButtonDown(UINT nFlags, CPoint point)//让光标位置随着鼠标的位置变化
{
ptbegin=point;//获得新的鼠标位置
SetCaretPos(ptbegin);//设置新的光标位置
CView::OnLButtonDown(nFlags, point);
}
程序运行结果:
初始结果:
随鼠标移动结果: