MFC控件(四)(图像列表控件CImageList)

来源:互联网 发布:淘宝市场行情破解版 编辑:程序博客网 时间:2024/05/17 01:47
 

CImageList图像列表控件

用于为其他控件添加图标

以CImageList的形式存在,使用前先创建。

1、在全局区域或对话框类中定义一CImageList对象(常作为对话框成员变量)

CImageList  m_ImageList;

2、调用CImageList的Create方法创建图像列表控件。

3。Add方法添加内容(先向工程中导入一些图标)

示例:

1、

CImageList m_ImageList;

2、对话框初始化部分:

m_ImageList.Create(32, 32, ILC_COLOR24|ILC_MASK, 1, 0);

3、对话框初始化部分:

m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),

MAKEINTRESOURCE(IDI_ICON1)));

Add函数参数为:图标句柄,通过LoadIcon函数获得

LoadIcon函数参数:当前进行的资源句柄,图标名称

AfxGetResourceHandle()获得当前资源句柄;

MAKEINTRESOURCE()将图标ID转换为名称

m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),

MAKEINTRESOURCE(IDI_ICON2)));

m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),

MAKEINTRESOURCE(IDI_ICON3)));

m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),

MAKEINTRESOURCE(IDI_ICON4)));

使用图像列表绘图

 

在前一部分代码基础上添加:

对话框类的OnPaint方法中添加:    

CDC *pDC = GetDC();

       CPoint pt;

       pt.x = 30;

       pt.y = 50;

       for(int i=0; i<4; i++)

       {

           pt.x += 60;

           m_ImageList.Draw(pDC, i, pt, ILD_NORMAL);//i表第几个图标

       }

       ReleaseDC(pDC);