listcontrol 加上一个图标。该如何解决
listcontrol 加上一个图标。
在listcontrol中我想在插入一行数据之后再插入一个图标,但是现在好像是哪里出了问题,
图片就是出不来,大神们来帮我看一下吧。
CImageList m_ImageList;
m_ImageList.Create(32,32,ILC_COLOR24|ILC_MASK,1,0);
m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
m_ListCtrl.InsertItem(0,"张三");
m_ListCtrl.SetItemText(0,1,"178CM");
m_ListCtrl.SetItemText(0,2,"70KG");
m_ListCtrl.SetItemText(0,3,"2009年1月15日23时40分");
m_ListCtrl.SetImageList(&m_ImageList,LVSIL_NORMAL);
出来是这一种,
我想要的是这一种效果。
但是怎么也出不来,小弟初学,还请高人指点一下吧。
------解决思路----------------------
CImageList m_ImageList;是临时变量还是成员变量?
------解决思路----------------------
m_ImageList.Add(LoadIcon(AfxGetResourceHandle());
------解决思路----------------------
楼主的蓝色字段背景色,和下面的黑色背景色是怎么实现的呢,想要学习一下。。。
------解决思路----------------------
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")); //第二列为文字
------解决思路----------------------
//要重绘,不然你看看网上有没有别人写好的控件,直接拿来用就行了
在listcontrol中我想在插入一行数据之后再插入一个图标,但是现在好像是哪里出了问题,
图片就是出不来,大神们来帮我看一下吧。
CImageList m_ImageList;
m_ImageList.Create(32,32,ILC_COLOR24|ILC_MASK,1,0);
m_ImageList.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
m_ListCtrl.InsertItem(0,"张三");
m_ListCtrl.SetItemText(0,1,"178CM");
m_ListCtrl.SetItemText(0,2,"70KG");
m_ListCtrl.SetItemText(0,3,"2009年1月15日23时40分");
m_ListCtrl.SetImageList(&m_ImageList,LVSIL_NORMAL);
出来是这一种,
我想要的是这一种效果。
但是怎么也出不来,小弟初学,还请高人指点一下吧。
------解决思路----------------------
CImageList m_ImageList;是临时变量还是成员变量?
------解决思路----------------------
m_ImageList.Add(LoadIcon(AfxGetResourceHandle());
------解决思路----------------------
楼主的蓝色字段背景色,和下面的黑色背景色是怎么实现的呢,想要学习一下。。。
------解决思路----------------------
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")); //第二列为文字
------解决思路----------------------
//要重绘,不然你看看网上有没有别人写好的控件,直接拿来用就行了