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

本文介绍了利用VC++制作和调用动态鼠标的方法。VC++提供了编辑动态鼠标的工具AniEdit和ImagEdit,给出了获取和编译它们的方法,简述了AniEdit的使用步骤,还说明了在VC++中调用动态鼠标文件的代码及操作,编译运行后可看到动态鼠标效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 鼠标是一个应用程序与用户交互的主要手段,因此如果在应用程序里能显示一些比较“酷”的鼠标(如动态鼠标)的话,无疑能使软件更加友好。但是我们在一般情况下用VC++都是调用系统提供的鼠标或生成一些静态鼠标,而且资料上也很少有提到动态鼠标的,那么怎么才能生成及利用动态鼠标呢?

---- 幸好Visual C++已为我们准备好了一个很好的编辑动态鼠标的工具AniEdit,并且还提供了它的全部原代码。检索一下VC++安装盘的DevStudio/VC/Samples/SDK/SDKTOOLS目录,你就会找到它的。你可以利用VC++生成一个Win32 Application,然后用Add Files to Project命令将所有原代码加入该项目,编译之后就可得到AniEdit。不过,要自己制作动态鼠标的话,除了AniEdit之外,还需要另外一个编辑工具ImagEdit。VC++也提供了它的全部原代码。它位于与AniEdit同样的目录下,请按与AniEdit同样的方法编译并得到ImagEdit。

---- 对于AniEdit的使用方法简述如下:程序启动后,左边是动态鼠标每帧的画面,右边上端可设置每帧的显示时间,下端是动态鼠标预览。若你要改动某一帧的画面,先选中它,然后选择菜单Edit|Edit Frame...,于是启动了ImagEdit,对单帧画面进行编辑,改完之后保存退出。若要增加一帧画面,可选择Edit|New Frame...,注意正确设置热点。在使用AniEdit之前,你也可以先利用AniEdit打开Windows目录下的Globe.ani文件,大致了解一下是怎么回事?全部编辑完后生成后缀为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()。推荐用ClassWizard截取WM_SETCURSOR消息,然后修改OnSetCursor()函数。

BOOL CAboutDlg::OnSetCursor
	(CWnd* pWnd, UINT nHitTest, UINT message)
{
// TODO: Add your message handler 
 	code here and/or call default
if(m_hAniCursor!=NULL)
SetCursor(m_hAniCursor);
/*or if(m_hAniCursor!=NULL)
SetClassLong(GetSafeHwnd(), GCL_HCURSOR, 
  (LONG)m_hAniCursor);*/
return TRUE;
//return CDialog::OnSetCursor(pWnd, nHitTest, message);
}

---- 最后编译程序并运行,你就可以发现一只美丽的蝴蝶在屏幕上翩翩起舞,是不是很酷?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值