一般情况下在列表控件中添加图标是在资源里面添加,然后再加载到列表中。但是这种方法的可重用性不好,如果要更换图片的话还得重新再导入资源。这种情况下自然就会想到用路径去添加图标,如果更换图标的话只需要更换路径!下面分别列举这两种方法
方法一:从资源导入
CBitmap bm;
if(bm.LoadBitmapA(IDB_DEFAUALT_DEV))//IDB_DEFAUALT_DEV是资源中位图ID
{
idx = m_DevImageList.Add(&bm, RGB(0, 0, 0));
bm.DeleteObject();
}
方法二:从路径导入
int SetIcon(CString iconPath)
{
m_icon = (HICON)LoadImage(AfxGetInstanceHandle(),iconPath,IMAGE_ICON,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(m_icon != NULL)
{
idx = m_DevImageList.Add(m_icon);
DeleteObject(m_icon);
return idx;
}
return 0;
}
添加图标的时候直接调用SetIcon("res//unknown.ico");