如何在改变鼠标光标时不闪烁

2016-02-19 16:40 21 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的如何在改变鼠标光标时不闪烁,过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - 编程语言 】

  微软知识库有一篇文章Q131991描述了三种方法来改变基于MFC应用的鼠标光标。其中一种方法是重载CWnd::PreCreateWindow()函数注册自己的要改变鼠标指针的窗口类。这个方法对于要始终使用一个鼠标光标的应用程序很适合。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  如果在应用程序中要动态改变鼠标光标,微软知识库的这篇文章建议重载CWnd::OnSetCursor()来实现。但是这种方法有一个缺点,就是当设置鼠标光标及还原时都会出现令人讨厌的光标闪烁。

  如果应用程序中要使用几个不同的鼠标光标,为了不发生任何光标闪烁,本文介绍一种方法:首先按照微软知识库文章所说重载PreCreateWindow函数,但是不要指定要使用的鼠标光标,而是使用NULL。这样就防止了Windows或MFC针对鼠标指针做任何操作。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  

BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs){// 创建自己的窗口类,窗口不设置光标,以便根据需要进行设置 if (cs.lpszClass == NULL)cs.lpszClass = AfxRegisterWndClass(CS_DBLCLKS);return CScrollView::PreCreateWindow(cs);}

  因为窗口类没有任何事先指定好的的鼠标指针,所以以上代码有效地派出了光标的闪烁。(注意这段代码创建的窗口类也没有背景刷,所以窗口的背景色需要自己画。为此要向函数AfxRegisterWndClass()传递第三个参数作为背景刷。)

  光标的闪烁是消除了,但同时光标也没了!不用担心。在处理鼠标事件OnMouseMove时设置光标是很容易的事情。实践证明,如果要在应用窗口中改变鼠标指针,在OnMouseMove事件处理模块中设置光标是最方

  便的。

  

void CMyView::OnMouseMove(UINT nFlags, CPoint point){// 设置光标表示当前的操作if (m_nOperation == OPERATION_1)::SetCursor(AfxGetApp()-LoadStandardCursor(IDC_CROSS));else if (m_nOperation == OPERATION_2)::SetCursor(AfxGetApp()-LoadStandardCursor( ??? ));else // 普通光标指针::SetCursor(AfxGetApp()-LoadStandardCursor(IDC_ARROW));}

  尽管要做一点额外的工作,但它实现了应用中不同的鼠标指针变化,同时消除了闪烁。

来源:https://www.tulaoshi.com/n/20160219/1612750.html

延伸阅读
标签: 电脑入门
1、在任务栏托盘处点击显示隐藏图标(即下图中的箭头),然后在蓝牙图标上单击鼠标右键,选择添加 Bluetooth 设备; 2、点击添加设备,如下图所示; 3、选择添加的蓝牙鼠标,如下图所示; 4、添加成功。
标签: 电脑入门
在windows下使用微软鼠标非常简单,微软鼠标拥有5个按钮,那么在Linux下要如何使用微软鼠标呢?下面图老师小编就给大家介绍下如何在Linux下配置微软鼠标。 虽说使用linux的 人大都对微软没什么好感,但不能否认微软确实也出了不少好东西呀,比如微软鼠标(IE系列) icon_smile.gif IE 2.0和以上版本都有5个按钮,除了正常的左中右外,两侧...
Windows7下调整鼠标光标粗细技巧   一、首先,在桌面开始菜单处进入控制面板中心,然后在win7旗舰版控制面板界面中,依次点击进入轻松访问-轻松访问中心,然后再按住键盘上的回车键即可,这样就可以打开轻松访问中心了。 二、在弹出来的轻松访问中心面板中,使计算机更易查看。 三、www.Tulaoshi.com然后找到使屏幕上...
win7鼠标光标乱跳怎么办?   鼠标是我们操作windows系统的重要设备,当鼠标出现问题时,将严重影响用户的正常工作;在win7系统下,相信许多用户多遇到过鼠标光标在电脑屏幕上乱跑的问题,这样用户在选取文字或指定输入位置时,将受到很大的影响,对于出现这类问题通常都以为是鼠标设备出现了问题,其实并非如此,造成win7系统鼠标指针...
  怎么我的鼠标变了?在网上经常有很多网站,在进去后,你的鼠标指针会变成一个小图片指针,你可能觉得很奇怪吧。 要实现这个效果很容易,只需在你的网页文件的之间加上: 当然你需要找到一个你想用的鼠标指针文件,可以打开你的系统盘的windows/cursors文件夹找一个(当然更可爱的鼠标指针,你可以从网上下载),把你选中的指针文...

经验教程

686

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部