CListCtrl控件,Report风格列表中添加图片 一、设置CListCtrl控件扩展风格(网络线、整行选中、图片) DWORD dwStyle; dwStyle = m_list1.GetExtendedStyle(); dwStyle = dwStyle|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_SUBITEMIMAGES ; m_list1.SetExtendedStyle(dwStyle); 二、添加图像列表 1、在类中添加成员变量 CImageList m_imList; 2、为图像列表添加图片 //Bitmap图片(应该为48X48大小) m_imList.Create(32,32,ILC_COLOR,0,20); CBitmap * pBmp = NULL; pBmp = new CBitmap(); pBmp->LoadBitmapW(IDB_BITMAP_GREE); m_imList.Add(pBmp,RGB(0,0,0)); delete pBmp; pBmp = new CBitmap(); pBmp->LoadBitmapW(IDB_BITMAP_READ); m_imList.Add(pBmp,RGB(0,0,0)); delete pBmp; //ICON模式(方便一点) HICON hIcon; m_imList.Create(32,32,ILC_COLOR,2,20); hIcon = AfxGetApp()->LoadIconW(IDI_ICON_GREE); m_imList.Add(hIcon); hIcon = AfxGetApp()->LoadIconW(IDI_ICON_READ); m_imList.Add(hIcon); 三、设置图像列表与CListCtrl控件关联,要使用LVSIL_SMALL风格 m_list1.SetImageList(&m_imList,LVSIL_SMALL ); //这里要使用,LVSIL_SMALL风格 四、给CListCtrl控件添加二列 m_list1.InsertColumn(0,_T("图形列"),LVCFMT_CENTER,100); m_list1.InsertColumn(1,_T("列名"),LVCFMT_CENTER,100); 五、添加数据 int nRow; //记录行号 LVITEM lvItem={0}; //第一行数据 lvItem.mask = LVIF_IMAGE|LVIF_TEXT|LVIF_STATE; //文字、图片、状态 lvItem.iItem = 0; //行号(第一行) lvItem.iImage = 0; //图片索引号(第一幅图片) lvItem.iSubItem = 0; //子列号 nRow = m_list1.InsertItem(&lvItem); //第一列为图片 m_list1.SetItemText(nRow,1,_T("PPP")); //第二列为文字 //第二行数据 lvItem.mask = LVIF_IMAGE|LVIF_TEXT|LVIF_STATE; //文字、图片、状态 lvItem.iItem = 1; //行号(第二行) lvItem.iImage = 1; //图片索引号(第二幅图片) lvItem.iSubItem = 0; //子列号 nRow = m_list1.InsertItem(&lvItem); //第一列为图片 m_list1.SetItemText(nRow,1,_T("PPP2")); //第二列为文字