给你的应用程序添加动态鼠标

后起之秀yy88

后起之秀yy88

2016-01-29 11:53

给你的应用程序添加动态鼠标,给你的应用程序添加动态鼠标

给你的应用程序添加动态鼠标
作者:魏镇江

下载本文示例源代码


本文程序运行效果图

鼠标是一个应用程序与用户交互的主要手段,因此如果在应用程序里能显示一些比较“酷”的鼠标的话,无疑能增加软件的人气值。但是我们一般情况下用VC++都只能调用系统提供的鼠标或生成一些静态的鼠标,怎么才能生成及利用动态鼠标呢?
幸好Visual C++已为我们准备好了一个很好的编辑动态鼠标的工具AniEdit,并且还提供了它的全部原代码。检索一下VC++安装盘的DevStudioVCSamplesSDKSDKTOOLS目录,你就会发现它的。
你可以利用VC++生成一个Win32 Application,然后用Add Files to Project命令将所有原代码加入该项目,编译之后就可得到AniEdit。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/cyuyanjiaocheng/)

当然,要自己制作动态鼠标的话,除了AniEdit之外,还需要另外一个工具ImagEdit。VC++也提供了它的全部原代码。它位于与AniEdit同样的目录下,请与AniEdit同样的方法编译并得到ImagEdit。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/cyuyanjiaocheng/)

对于AniEdit的使用方法简述如下:程序启动后,左边是动态鼠标每帧的画面,右边上端可设置每帧的显示时间,下端是动态鼠标预览。
若你要改动某一帧的画面,先选中它,然后选择菜单Edit|Edit Frame...,于是启动了ImagEdit,对单帧画面进行编辑,改完之后保存退出。
若要增加一帧画面,可选择Edit|New Frame...,注意正确设置热点。
在使用AniEdit之前,你也可以先利用AniEdit打开Windows目录下的Globe.ani文件,大致了解一下是怎么回事?




那么有了动态鼠标文件之后,又怎么在VC++中调用呢?通过以下几行简单的代码就可以轻松利用动态鼠标。
首先在类中增加成员变量m_hAniCursor,然后在构造函数中赋空值,
void CSampleView::CSampleView(){m_hAniCursor = NULL;}
再利用LoadCursorFromFile()载入动态鼠标文件:
void CSampleView::OnInitialUpdate(){//推荐在OnInitialUpdate或OnInitialDialog//中载入动态鼠标文件...if(m_hAniCursor == NULL)m_hAniCursor = LoadCursorFromFile("d:\path\sample.ani");...}
然后在需要改变鼠标的地方调用SetCursor()。推荐截取WM_SETCURSOR消息,然后修改OnSetCursor()函数。
BOOL CAboutDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) {// TODO: Add your message handler code here and/or call defaultif(m_hAniCursor!=NULL)SetCursor(m_hAniCursor);/*orif(m_hAniCursor!=NULL)SetClassLong(GetSafeHwnd(), GCL_HCURSOR, (LONG)m_hAniCursor);*/return TRUE;//return CDialog::OnSetCursor(pWnd, nHitTest, message);}
再编译程序并运行,你就可以得到一双你梦寐以求的闪动的大眼睛或一只翩翩起舞的蝴蝶,是不是很酷?
展开更多 50%)
分享

猜你喜欢

给你的应用程序添加动态鼠标

C语言教程 C语言函数
给你的应用程序添加动态鼠标

Ajax: 构建动态的 Java 应用程序

Web开发
Ajax: 构建动态的 Java 应用程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

让VB应用程序支持鼠标滚轮

编程语言 网络编程
让VB应用程序支持鼠标滚轮

从Java应用程序动态生成PDF文件

编程语言 网络编程
从Java应用程序动态生成PDF文件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Delphi 应用程序的应用

编程语言 网络编程
Delphi 应用程序的应用

在VFP、VB应用程序中激活鼠标功能

编程语言 网络编程
在VFP、VB应用程序中激活鼠标功能

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

在html文件引入其它html文件的几种方法

在html文件引入其它html文件的几种方法

AutoCAD三维实体速成最简单入门法[第十二集]

AutoCAD三维实体速成最简单入门法[第十二集]
下拉加载更多内容 ↓