如何向CImageList中加入位图文件.DOCVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何向CImageList中加入位图文件 在MFC中CImageList类封装了图象列表控件的功能,图象列表控件是相同大小图象的一个集合,用于应用程序中大规模图标的存储,该控件是不可见控件,通常与其它控件一起使用,来为其它控件提供图标资源。图象的每个集合中均以0为图象索引基数,可以把这些图标看成是以数组方式存储的,图像列表通常由大图标或位图构成,其中包含位图模式,实际上,所有的在同一个图象列表中的图标都被存储在一个屏幕设备的位图中。 通常向CImageList对象中添加图像元素的方法是:首先把图标或位图调入资源文件中,然后调用CImageList:Add方法加入到图象列表控件中,将位图装入资源导致可执行文件增大,不利于软件发行,而且只能使用资源中有限的位图,无法选取其它位图。要弥补使用资源位图的不足,就必须直接使用BMP位图文件。 使用下列代码即可实现: HBITMAP hBitmap; CBitmap *pBitmap; CImageList *pImageList; pImageList=new CImageList; pImageList-Create (32,32,ILC_COLOR4,5,2); pBitmap=new CBitmap; hBitmap=(HBITMAP)LoadImage(NULL,FilePathName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);//FilePathName 是位图文件完整路径字符串 pBitmap-Attach (hBitmap); pImageList-Add (pBitmap,RGB(0,0,0)); 下面结合一个实例详细说明的用法: 例程解析: 例程基于一个对话框,单击对话框中的‘添加bmp’按钮弹出文件选择框,选择一个bmp文件,即可把选种bmp文件加入到列表控件中。在MFC中,CLIstCtrl类封装了列表控件,主要用来以各种方式显示一组数据记录供用户进行各种操作,列表中的记录可以包括多个数据项,也可以包括表示数据内容的大小图标,用来表示数据记录的各种属性,Windows资源管理器的右侧框架就是一个非常典型的列表控件。 新建MFC AppWiazrd[exe]工程,工程名称ImageListAddBmp,点OK,选中Dialog based 点下一步,剩下的几步用缺省值,一直按下一步直到完成,工程建立完毕。按以下步骤设置几个变量,填写事件代码: 1. 在IDD_IMAGELISTADDBMP_DIALOG对话框中加入ClistCtrl控件和一个按纽,按纽Caption为“添加bmp”。 2. 使用类向导添加CtrlList控件变量m_ListCtrl。 3. 在CimageListAddBmpDlg类中添加下面两个公用变量: int index; CImageList *pImageList; 4. 在BOOL CImageListAddBmpDlg::OnInitDialog()初始化函数中, // TODO: Add extra initialization here语句后面添加以下代码 index=0; pImageList=new CImageList; pImageList-Create (32,32,ILC_COLOR4,5,2); m_ListCtrl.SetImageList (pImageList,LVSIL_NORMAL ); 5. 在IDD_IMAGELISTADDBMP_DIALOG对话框中双击‘添加bmp’按钮,加入Onbutton1单击事件代码: void CImageListAddBmpDlg::OnButton1() { // TODO: Add your control notification handler code here CString FilePathName,FileName; CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框 if(dlg.DoModal()==IDOK) { FilePathName=dlg.GetPathName(); HBITMAP hBitmap; CBitmap *pBitmap; pBitmap=new CBitmap; hBitmap=(HBITMAP)LoadImage(NULL,FilePathName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE); pBitmap-Attach (hBitmap); pImageList-Add (pBitmap,RGB(0,0,0));

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档