MFC LoadImage用法案例详解

 更新时间:2021年08月23日 14:20:10   作者:HisinWang  
这篇文章主要介绍了MFC LoadImage用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

函数原型

HANDLE LoadImage(
    HINSTANCE hinst,     // 若加载程序外部资源传NULL,否则一般传AfxGetInstanceHandle()
    LPCTSTR lpszName,    // 图片名称或全路径
    UINT uType,          // 图片类型:IMAGE_BITMAP或IMAGE_ICON或IMAGE_CURSOR
    int cxDesired,
    int cyDesired,
    UINT fuLoad          // 一般为LR_DEFAULTCOLOR | LR_CREATEDIBSECTION
);

cxDesired, cyDesired:

按Image的实际尺寸加载:cxDesired=0,cyDesired=0并且fuLoad不指定LR_DEFAULTSIZE。
按指定大小加载: cxDesired,cyDesired不为0并且fuLoad不指定LR_DEFAULTSIZE,Image会根据实际大小缩放。
按Windows系统默认的Icon或Cursor大小(一般为32x32)加载Icon或Cursor:cxDesired=0,cyDesired=0, fuLoad指定LR_DEFAULTSIZE,Image会根据实际大小缩放。
注意: LR_DEFAULTSIZE只对Icon和Cursor起作用,对Bitmap不起作用。

fuLoad:

若从独立于程序的Image文件(.bmp,.ico)加载,请指定标志LR_LOADFROMFILE。

示例

1.加载Icon资源

按Windows系统默认的Icon大小加载

HICON hIcon = (HICON)::LoadImage(
        AfxGetInstanceHandle(), 
        MAKEINTRESOURCE(IDI_ICON1),
        IMAGE_ICON,
        0, 0,
        LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_DEFAULTSIZE);

2.加载本地磁盘的Icon文件

按实际大小加载

HICON hIcon = (HICON)::LoadImage(
        AfxGetInstanceHandle(), 
        TEXT("D:\\Butterfly.ico"),
        IMAGE_ICON,
        0, 0,
        LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_LOADFROMFILE);

3.加载本地磁盘的Bitmap文件

按指定大小加载

HBITMAP hBitmap = (HBITMAP)::LoadImage(
        NULL, 
        TEXT("D:\\001.bmp"), 
        IMAGE_BITMAP, 
        50, 50, 
        LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_LOADFROMFILE);

到此这篇关于MFC LoadImage用法案例详解的文章就介绍到这了,更多相关MFC LoadImage用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++ STL vector的模拟实现

    C++ STL vector的模拟实现

    这篇文章主要介绍了C++ STL vector的模拟实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 纯C语言:分治快速排序源码分享

    纯C语言:分治快速排序源码分享

    这篇文章主要介绍了分治快速排序源码,有需要的朋友可以参考一下
    2014-01-01
  • 浅谈C++不同继承之间的关系

    浅谈C++不同继承之间的关系

    本文主要介绍了浅谈C++不同继承之间的关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • C++实现LeetCode(92.倒置链表之二)

    C++实现LeetCode(92.倒置链表之二)

    这篇文章主要介绍了C++实现LeetCode(倒置链表之二),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C语言深入探究选择排序与基数排序使用案例讲解

    C语言深入探究选择排序与基数排序使用案例讲解

    算法中排序是十分重要的,而每一个学习计算机的都会在初期的时候接触到这种排序,下面这篇文章主要给大家介绍了关于c语言选择排序与基数排序使用的相关资料,需要的朋友可以参考下
    2022-05-05
  • 学习 C++能带给我们什么

    学习 C++能带给我们什么

    这篇文章主要介绍了学习 C++能带给我们什么的相关总结,主要来自于前辈们,这里汇总给大家,需要的朋友可以参考下
    2016-03-03
  • C++动态联编介绍

    C++动态联编介绍

    这篇文章主要介绍了C++动态联编,在C++中,联编是指一个计算机程序的不同部分彼此关联的过程。按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编
    2022-01-01
  • C语言数据结构系列之树的概念结构和常见表示方法

    C语言数据结构系列之树的概念结构和常见表示方法

    本章将正式开启数据结构中 “树” 部分的讲解,本章将介绍树的概念和结构,以及树的表示方法,感兴趣的朋友进来看看吧
    2022-02-02
  • 详解C++值多态中的传统多态与类型擦除

    详解C++值多态中的传统多态与类型擦除

    值多态是一种介于传统多态与类型擦除之间的多态实现方式,借鉴了值语义,保留了继承,在单继承的适用范围内,程序和程序员都能从中受益。这篇文章主要介绍了C++值多态中的传统多态与类型擦除,需要的朋友可以参考下
    2020-04-04
  • Qt中JSON操作的具体使用

    Qt中JSON操作的具体使用

    本文主要介绍了Qt中JSON操作的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08

最新评论