MFC 自定义光标样式

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baijiaheizhiganmao/article/details/17279173

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

}

程序运行结果:

初始结果: 


随鼠标移动结果:


展开阅读全文

没有更多推荐了,返回首页