CListCtrl控件,Report风格列表中添加图片

 
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"));  //第二列为文字

你可能感兴趣的:(VC,MFC,report,list,delete,image,图形,扩展)