CSDN博客

img likefermat

windows程序中怎样使用自定义鼠标(含动态鼠标)

发表于2008/9/28 0:12:00  1088人阅读

windows程序中,在窗口类的定义中,WNDCLASS结构体的一个成员

wndcls.hCursor

可以选择不同的鼠标,总结如下:

1.系统光标。

加载系统光标比较简单.

wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);//加载标准的系统光标

 

注意第一个参数必须为NULL,第二个参数可以有不同的选择,更多的参数,查找msdn

 

2.自定义静态光标

自定义静态光标的加载有两种方式:

第一种方式:

使用LoadCursorFromFile函数,

该函数允许你直接从文件中加载,而不必要导入资源.

wndcls.hCursor=LoadCursorFromFile("F://windows 鼠标//静态光标.cur");

 

注意,由于程序调用的时候,会从固定的路径去加载光标,因此要保证每次运行的时候,该光标存在.

 

第二种方法:

ctrl+r 导入资源,选择选择一个你自定义的名字,mycur,导入资源后点击保存,将文件保存为mycur.rc文件,

然后导入该资源文件,系统会自动生成resource.h,导入头文件,在cpp文件前包含头文件#include "resource.h"

wndcls.hCursor=LoadCursor(hInstance,MAKEINTRESOURCE(IDC_CURSOR1));

这个IDC_CURSOR1是默认的光标资源ID,你也可以改变这个ID名

 

3.自定义动态光标

有两种方法:

第一种方法:

直接从文件中加载:

wndcls.hCursor=LoadCursorFromFile("F://windows 鼠标//qq//1852.ani");

1852.ani是我的动态光标.

第二种方法.

先导入资源,导入资源的时候,会弹出一个对话框,要求输入名字类型,顺便输入一个anicur

然后导入,

找到资源文件,就是.rc文件,右键编辑,查找

IDR_ANICUR1  将所在的一行修改如下.

IDR_ANICUR1             CURSOR  DISCARDABLE     "1852.ani"

其实就是将anicur修改为CURSOR。

然后

wndcls.hCursor=LoadCursor(hInstance,MAKEINTRESOURCE(IDR_ANICUR1));

 

 

4.怎样加载ico图标.

加载自定义的ico图标,首先导入资源IDI_ICON1,然后使用函数

 wndcls.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));

这时有一点需要注意,有可能造成先前设置的动态鼠标不能用,这时候需要手工编辑rc资源,将IDI_ICON1所在的行,以及其下一行#endif,一起放在动态光标的前面,就可以了。

 

搞定了。

 

 

阅读全文
0 0

相关文章推荐

img
取 消
img