码迷,mamicode.com
首页 > 其他好文 > 详细

LoadIcon() --加载一个图标资源

时间:2014-12-15 17:05:32      阅读:586      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   ar   color   os   使用   sp   on   

 

LoadIcon() --加载一个图标资源

分类: VC++
LoadIcon() 函数原型如下:
1
2
3
4
HICON LoadIcon(
  HINSTANCE hInstance,
  LPCTSTR lpIconName
);

该函数从与 hInstance 模块相关联的可执行文件中装入lpIconName指定的图标资源,仅当图标资源还没有被装入时该函数才执行装入操作,否则只获取装入的资源句柄。

比如,在对窗口类初始化时,我们可以如下使用:
1
2
WNDCLASSEX mywcex;
mywcex.hIcon = LoadIcon(NULL,IDI_ERROR);

上面代码中,我们将标题栏上的图标定义为 IDI_ASTERISK ,编译运行后会看到标题栏上的图标为:
bubuko.com,布布扣
注意,上面函数中第一个参数为 NULL,此时使用的是系统预定义的图标,其它预定义选项可参考 MSDN,否则使用自定义的图标资源。还有一种选择图标的做法是,即使用  MAKEINTRESOURCE 宏对一个十六位数的资源标识符(高 8 位为0,低 8 位为图标资源ID)进行转换。使用该宏的时候,我们往往使用 Visual Studio 为我们自动产生资源头文件 resource.h 和 资源文件 OurProject.rc 。.rc 文件是个文本文件,我们可以在记事本里编辑它们,但一般不会直接去这么做。新建图标资源的操作结果会写到该文件中。比如,可以通过 VS 里的“文件”--> “新建” --> “文件”--> “图标文件(.ico)” 来新添加一个图标,接着可以编辑该图标,最后保存。如果要添加该新建的图标,可以在“解决方案资源管理器”窗口底下的“资源文件”文件夹下双击打开 "OurProject.rc“ 文件,接着右键点击“Icon “文件夹图标,在弹出的菜单中选择“添加资源”,在弹出的对话框中,选择“Icon”,然后点击右边的“导入”按钮,将之前编辑好的图标资源添加进来。如下图所示:
bubuko.com,布布扣
完后,我们可以看到左边的“资源视图”窗口里的 "Icon" 下面多了一项“IDI_ICON1”,这个就是我们自定义的图标。如下图所示:
bubuko.com,布布扣
在保存好上面的工作后,打开 resource.h 就可以看到多了一项定义:
#define IDI_ICON1                       135

好了,现在可以用这个新建的自定义图标了,现在修改源码文件,正是使用 MAKEINTRESOURCE  这个宏来进行转换,比如:
mywcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));

再重新生成一下可执行文件,可以看到:
bubuko.com,布布扣

最后还需要注意的是,在窗口类中还有一个成员 hIconSm 。这是一个小图标句柄,如果该项为空,那么系统就会使用 hIcon 成员所指定的图标,并用合适的尺寸来使用它 --- 上面的步骤就是设置了 hIconSm 为空,而使用了 hIcon 所指示的图标。

LoadIcon() --加载一个图标资源

标签:blog   http   io   ar   color   os   使用   sp   on   

原文地址:http://www.cnblogs.com/jack-jia-moonew/p/4165019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!