windows程序设计 C语言之为窗口程序加入自定义的图标 LoadIcon() --加载一个图标资源 VC++6.0
1、LoadIcon(HINSTANCE hInstance,LPCSTR lpIconName);
该函数从与 hInstance 模块相关联的可执行文件中装入lpIconName指定的图标资源,仅当图标资源还没有被装入时该函数才执行装入操作,否则只获取装入的资源句柄。
2、比如,在对窗口类初始化时,我们可以如下使用:
WNDCLASS wndclass;
wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
上面代码中,我们将标题栏上的图标定义为 IDI_APPLICATION,编译运行后会看到标题栏上的图标为
注意,上面函数中第一个参数为 NULL,此时使用的是系统预定义的图标,其它预定义选项可参考 MSDN,否则使用自定义的图标资源。
还有一种选择图标的做法是,即使用 MAKEINTRESOURCE 宏对一个十六位数的资源标识符(高 8 位为0,低 8 位为图标资源ID)进行转换。
使用该宏的时候,我们往往使用 Visual C++6.0产生资源头文件 resource.h 和 资源文件 resource.rc 。.rc 文件是个文本文件,我们可以在记事本里编辑它们,但一般不会直接去这么做。
新建图标资源的操作结果会写到该文件中。比如,可以通过 VC的“文件”--> “新建” --> “文件”--> “图标文件(.ico)” 来新添加一个图标,接着可以编辑该图标,最后保存。
如果要添加该新建的图标,可以在文件->新建->资源脚本,如resource.rc,然后打开新建的文件,然后对着出来的resource.rc节点,右键鼠标,引入刚才的ico即可,或者插入新的ico等等,然后对着resource.rc右键鼠标选择编译,会生成一个resource.h文件,我们就可以应用这些资源了
3、经过上步了,现在可以用这个新建的自定义图标了,现在修改源码文件,正是使用 MAKEINTRESOURCE 这个宏来进行转换,比如:
引入resource.h头文件
wndclass.hIcon = (HICON)LoadIcon(hlnstance,MAKEINTRESOURCE(IDI_ICONAPPLICATION));
然后运行调试:
看到效果了吧!