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,一起放在动态光标的前面,就可以了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jonathandj/archive/2009/04/19/4092638.aspx