MFC加载图标,位图。LoadImage LoadIcon, LoadBitmap

MFC加载图标和位图,有2种方式,一种是从工程的资源中加载,一种是从文件加载。

先说图标的,图标格式为.ico,也就是我们常说的ICON图片。

我们直观的希望是加载ico使用LoadIcon()函数,加载bitmap图片使用LoadBitmap函数,事实上,的确可以这样。


1、加载图标

LoadIcon函数要加载位图,要使用CWinApp的成员函数LoadIcon才行。当你查看MSDN的时候,会发现,LoadIcon可以是CWinApp的Class member函数,也可以是windows api函数。说实话,windows api函数我不知道怎么使用,呵呵,大家可以自己去验证下能不能加载。这里既然说了是CWinApp函数,我们的MFC程序都有一个全局的变量,theApp。这个变量就是CWinApp类的对象,只需要使用theApp.LoadIcon()就可以了。当然,也可以使用AfxGetApp()获得CWinApp指针,比如AfxGetApp()->LoadIcon();

函数原型:

CWinApp::LoadIcon

HICON LoadIcon( LPCTSTR lpszResourceName ) const;   //这一种是从硬盘上加载ICON,传入的参数是文件路径,比如“F:\\123.ico”;

HICON LoadIcon( UINT nIDResource ) const;                        //这种是从工程资源中加载ICON,传入参数是资源ID,比如IDC_ICON1.

简单举例:

(1)从硬盘加载

HICON hIcon = NULL;

hIcon  = theApp.LoadIcon("F:\\123.ico");

或者

hIcon  = AfxGetApp()->LoadIcon("F:\\123.ico");

(2)从资源加载

HICON hIcon = NULL;

hIcon = AfxGetApp()->LoadIcon(IDC_ICON1);

是不是很简单,这样就完成了图标的加载了。

2、位图的加载。

位图的加载也很简单,我们使用CBItmap的成员函数LoadBitMap();

函数声明:

CBitmap::LoadBitmap

BOOL LoadBitmap( LPCTSTR lpszResourceName );     //从硬盘加载位图

BOOL LoadBitmap( UINT nIDResource );                           //从资源加载位图

举例:

CBitmap bitmap;

bitmap.LoadBitmap("F:\\a.bmp");

或者

bitmap.LoadBitmap(IDB_BITMA1);


3、通用加载图片方式

这种方式,使用LoadImage来加载,这种方式可以去试试。

举例:

HBITMP hBitmap=(HBITMAP)::LoadImage(NULL,pszFileName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);//

pszFileName

是文件路径。

 

LR_LOADFROMFILE表示从文件中加载。

或者

HICON hIcon = (HICON)::LoadImage(NULL,pszFileName,IMAGE_ICON,0,0,LP_LOADFROMFILE);

本文转载自曾伟微博:http://blog.csdn.net/zengweicdut/article/details/14160427

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值