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

 1 CListCtrl控件,Report风格列表中添加图片
 2 
 3 一、设置CListCtrl控件扩展风格(网络线、整行选中、图片)
 4  DWORD dwStyle;
 5 
 6  dwStyle = m_list1.GetExtendedStyle();
 7  dwStyle = dwStyle|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_SUBITEMIMAGES ;
 8  m_list1.SetExtendedStyle(dwStyle);
 9  
10 二、添加图像列表
11   1、在类中添加成员变量 CImageList m_imList;
12   2、为图像列表添加图片
13   
14   //Bitmap图片(应该为48X48大小)
15   m_imList.Create(32,32,ILC_COLOR,0,20);
16 
17   CBitmap * pBmp = NULL;
18   pBmp = new CBitmap();
19   pBmp->LoadBitmapW(IDB_BITMAP_GREE);
20   m_imList.Add(pBmp,RGB(0,0,0));
21   delete pBmp;
22 
23   pBmp = new CBitmap();
24   pBmp->LoadBitmapW(IDB_BITMAP_READ);
25   m_imList.Add(pBmp,RGB(0,0,0));
26   delete pBmp;
27   
28   //ICON模式(方便一点)
29   HICON hIcon;
30 
31   m_imList.Create(32,32,ILC_COLOR,2,20);
32 
33   hIcon = AfxGetApp()->LoadIconW(IDI_ICON_GREE);
34   m_imList.Add(hIcon);
35 
36   hIcon = AfxGetApp()->LoadIconW(IDI_ICON_READ);
37   m_imList.Add(hIcon);
38   
39 三、设置图像列表与CListCtrl控件关联,要使用LVSIL_SMALL风格
40 m_list1.SetImageList(&m_imList,LVSIL_SMALL ); //这里要使用,LVSIL_SMALL风格
41  
42 四、给CListCtrl控件添加二列
43 m_list1.InsertColumn(0,_T("图形列"),LVCFMT_CENTER,100);
44 m_list1.InsertColumn(1,_T("列名"),LVCFMT_CENTER,100);
45  
46 五、添加数据
47 
48 int nRow;  //记录行号
49 LVITEM lvItem={0};
50 
51 //第一行数据
52 lvItem.mask = LVIF_IMAGE|LVIF_TEXT|LVIF_STATE; //文字、图片、状态
53 lvItem.iItem = 0;  //行号(第一行)
54 lvItem.iImage = 0; //图片索引号(第一幅图片)
55 lvItem.iSubItem = 0; //子列号
56 
57 nRow = m_list1.InsertItem(&lvItem);  //第一列为图片
58 m_list1.SetItemText(nRow,1,_T("PPP"));  //第二列为文字
59 
60 //第二行数据
61 lvItem.mask = LVIF_IMAGE|LVIF_TEXT|LVIF_STATE; //文字、图片、状态
62 lvItem.iItem = 1;  //行号(第二行)
63 lvItem.iImage = 1; //图片索引号(第二幅图片)
64 lvItem.iSubItem = 0; //子列号
65 
66 nRow = m_list1.InsertItem(&lvItem);  //第一列为图片
67 m_list1.SetItemText(nRow,1,_T("PPP2"));  //第二列为文字

 

posted @ 2013-10-29 10:09  陳さん様  阅读(802)  评论(0)    收藏  举报