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);