现在的位置: 首页 > 综合 > 正文

MFC 自定义光标样式

2014年09月05日 ⁄ 综合 ⁄ 共 798字 ⁄ 字号 评论关闭

目的:学习在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);

}

程序运行结果:

初始结果: 


随鼠标移动结果:

抱歉!评论已关闭.