给你的应用程序添加动态鼠标
鼠标是一个应用程序与用户交互的主要手段,因此如果在应用程序里能显示一些比较“酷”的鼠标的话,无疑能增加软件的人气值。但是我们一般情况下用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文件,大致了解一下是怎么回事?
那么有了动态鼠标文件之后,又怎么在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 default if(m_hAniCursor!=NULL) SetCursor(m_hAniCursor); if(m_hAniCursor!=NULL) SetClassLong(GetSafeHwnd(), GCL_HCURSOR, (LONG)m_hAniCursor);*/ return TRUE; //return CDialog::OnSetCursor(pWnd, nHitTest, message);
再编译程序并运行,你就可以得到一双你梦寐以求的闪动的大眼睛或一只翩翩起舞的蝴蝶,是不是很酷?
wpf 自定义窗口,最大化时覆盖任务栏解决方案 原文:wpf 自定义窗口,最大化时覆盖任务栏解决方案 相信很多人使用wpf时会选择自定义美观的窗口,因此会设置Window "feed-item-img" target="_blank" href="https://developer.aliyun.com/article/676987">
相关文章
- 在java中使用SPI创建可扩展的应用程序
- Mac系统U盘安装提示 这个安装macOS Mojave 应用程序副本已损坏,不能用来安装
- Cloud Foundry 4:应用程序的生命周期
- 在.NET Core控制台应用程序中使用日志
- HTML5-IOS WEB APP应用程序(IOS META)
- 《ADOBE FLASH PROFESSIONAL CC标准培训教材》——2 Flash CC工作环境2.1 应用程序栏
- 《Node应用程序构建——使用MongoDB和Backbone》一1.3 纯JavaScript
- 《Node应用程序构建——使用MongoDB和Backbone》一2.4 Socket.io
- SwiftUI AI教程之 在 SwiftUI 应用程序中使用 RealityKit 生成 3D 文本,如何在您的增强现实应用程序中添加 3D 文本
- SwiftUI AR教程之应用程序中使用 RealityKit 生成 3D 文本(教程含完整源码)
- WWDC21 学习系列之 SwiftUI必看视频《 为您的 SwiftUI 应用程序添加丰富的图形》
- Swift SwiftUI Xcode 将包依赖项添加到您的应用程序
- Flutter开发实战之Google Play 最佳应用程序开发者分享Flutter经验与技巧
- C运行时库(C Run-time Library)详解(提供的另一个最重要的功能是为应用程序添加启动函数。Visual C++对控制台程序默认使用单线程的静态链接库,而MFC中的CFile类已暗藏了多线程)
- 使用V8和node轻松profile分析nodejs应用程序
- 检查 Flutter 应用程序是否在 Web 上运行
- 【SoC FPGA学习】九、为新添加的 UART 外设编写应用程序
- 了解如何执行在Linux上运行的应用程序
- Ubuntu+Codeblocks开发窗口应用程序
- 总数增长35% Web应用程序攻击愈演愈烈