如果通过路径将加载位图,相对于添加到资源更加灵活,可用性更强。
一、一般给列表添加位图的方法:
- 首先将图片导入资源。
- 列表控件的初始化如下:
m_ImageListAudio.Create(168,150, ILC_COLOR24, 0, 1);
CBitmap bm;
bm.LoadBitmapA( IDB_MUSIC);
m_ImageListAudio.Add(&bm,RGB(0, 0, 0));
m_audioList.SetImageList(&m_ImageListAudio,LVS_REPORT);
bm.DeleteObject();
bm.LoadBitmapA(IDB_VIDEO);
m_ImageListAudio.Add(&bm,RGB(0, 0, 0));
m_audioList.SetImageList(&m_ImageListAudio, LVS_REPORT);
bm.DeleteObject();
m_audioList.SetBkColor(RGB(0,0,0));
m_font.CreateFont(40, 0,0,0,FW_NORMAL, 0,0,0,
DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS,
DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, _T("Arial"));
m_audioList.SetFont(&m_font);
ListView_SetExtendedListViewStyle(m_audioList.m_hWnd, m_audioList.GetStyle() & ~LVS_EX_GRIDLINES);//不显示网格3.
3. 如果是给按钮添加图片
CBitmapButton m_pagedown;
m_pagedown.LoadBitmaps(IDB_PAGEDOWN, 0, 0, 0);//下一页
m_pagedown.SubclassDlgItem(IDC_PAGE_DOWN, this);
m_pagedown.SizeToContent();
二、使用路径添加图标
CImageList m_DevImageList;
m_DevImageList.Create(96,96, ILC_COLOR32, 10, 10);
//
创建图像列表
ListCtrl.SetImageList(&m_DevImageList, LVSIL_NORMAL);
ListCtrl.SetImageList(&m_DevImageList, LVSIL_NORMAL);
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");