MFC-CImagelist图像列表控件

图像列表是一个具有相同大小的图像(可以是不同类型)的集合,其主要用于应用程序中大规模图标的存储。该控件是不可见的,通常与其它如CListBox,CComboBox,CComboBoxEx,CTabCtrl以及CTreeCtrl一起使用,为他们提供图标资源

图象的每个集合中均以0为图象索引基数,可以把这些图标看成是以数组方式存储的,图像列表通常由大图标或位图构成,其中包含位图模式。实际上,所有的在同一个图象列表中的图标都被存储在一个屏幕设备的位图中

 

复制代码
    CImageList* pImageList = new CImageList();   // 创建一个CImageList类的指针变量
    BOOL b=pImageList->Create(32, 32, ILC_COLOR32, 0, 4); // 确定图像规格--必不可少 
    /*
    参数1: int cx   每个图象的尺寸,以像素为单位
    参数2:int cy    每个图象的尺寸,以像素为单位
    参数3:UINT nFlags 确定创建的图象列表类型。此参数可能为以下值的组合,但只能有一个ILC_COLOR值
            ILC_COLOR   如果没有其它ILC_COLOR* 标记被确定,则使用缺省行为。
                        典型地,缺省为ILC_COLOR4;但对于旧的显示驱动程序,缺省为ILC_COLORDDB
            ILC_COLOR4    使用4位(16色)设备独立位图(DIB)部分作为图象列表的位图
            ILC_COLOR8    使用8位DIB部分。彩色表格使用的颜色与半色调调色板的一样
            ILC_COLOR16    使用16位(32/64K色)DIB部分
            ILC_COLOR24    使用24位DIB部分
            ILC_COLOR32    使用32位DIB部分
            ILC_COLORDDB    使用设备独立位图
    参数4:int nInitial   图象列表最初包含的图象数
    参数5:int nGrow       当系统需要改变列表为新图象准备空间时,每次增加的图象数空间
    返回值:如果成功,则返回非零值,否则为0
        
    */

    HBITMAP hbmp1 = (HBITMAP)::LoadImage(NULL, _T("D:\\bb\\tubiao\\1.bmp"), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_DEFAULTSIZE | LR_CREATEDIBSECTION);
    CBitmap* pBitmap1=new CBitmap;
    pBitmap1->Attach(hbmp1);  //CWND句柄指向win32API句柄
    //通过Detach分离
    
    int i= pImageList->Add(pBitmap1,RGB(0,0,0)); //添加外部文件图像
    /*
    参数1:CBitmap * pbmImage   
    参数2:COLORREF crMask    透明色
    返回值:图像索引号;   失败返回-1
    */
复制代码

 

 

 

posted @   天子骄龙  阅读(160)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2019-04-29 python-类对象以字典模式操作
点击右上角即可分享
微信分享提示