MFC LoadImage用法案例详解

时间:2022-01-09 08:14:23

函数原型

?
1
2
3
4
5
6
7
8
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大小加载

?
1
2
3
4
5
6
HICON hIcon = (HICON)::LoadImage(
        AfxGetInstanceHandle(),
        MAKEINTRESOURCE(IDI_ICON1),
        IMAGE_ICON,
        0, 0,
        LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_DEFAULTSIZE);

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

按实际大小加载

?
1
2
3
4
5
6
HICON hIcon = (HICON)::LoadImage(
        AfxGetInstanceHandle(),
        TEXT("D:\\Butterfly.ico"),
        IMAGE_ICON,
        0, 0,
        LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_LOADFROMFILE);

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

按指定大小加载

?
1
2
3
4
5
6
HBITMAP hBitmap = (HBITMAP)::LoadImage(
        NULL,
        TEXT("D:\\001.bmp"),
        IMAGE_BITMAP,
        50, 50,
        LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_LOADFROMFILE);

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

原文链接:https://blog.csdn.net/hisinwang/article/details/45752089