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")); //第二列为文字
CListCtrl控件,Report风格列表中添加图片
最新推荐文章于 2021-06-19 19:13:02 发布