listcontrol 加上一个图标。

编程小白_大场 2013-01-18 03:25:57
在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);


出来是这一种,



我想要的是这一种效果。


但是怎么也出不来,小弟初学,还请高人指点一下吧。
...全文
935 36 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
Image_life 2014-11-18
  • 打赏
  • 举报
回复
好漂亮,我想学习,能给个代码看看嘛?我想学习怎么重写个类!我没学过MFC,很多类啊,方法啊,消息啊不是很懂。希望能找你这个例子学习参考下
  • 打赏
  • 举报
回复
引用 34 楼 rooflet 的回复:
引用 楼主 sadasasdasd 的回复:在listcontrol中我想在插入一行数据之后再插入一个图标,但是现在好像是哪里出了问题, 图片就是出不来,大神们来帮我看一下吧。 CImageList m_ImageList; m_ImageList.Create(32,32,ILC_COLOR24|ILC_MASK,1,0); m_ImageList……
我不是用的他这种方法,我的都是重写的类,你可以考虑重写类,试试看。
rooflet 2013-04-02
  • 打赏
  • 举报
回复
引用 楼主 sadasasdasd 的回复:
在listcontrol中我想在插入一行数据之后再插入一个图标,但是现在好像是哪里出了问题, 图片就是出不来,大神们来帮我看一下吧。 CImageList m_ImageList; m_ImageList.Create(32,32,ILC_COLOR24|ILC_MASK,1,0); m_ImageList.Add(LoadIcon(AfxGetRe……
标准的控件要么无格线,要么带有有竖格线,你这单行格线是如何实现的? 把代码贴上来看看可好?
schlafenhamster 2013-02-01
  • 打赏
  • 举报
回复
CustomDraw
  • 打赏
  • 举报
回复
引用 31 楼 tiger9991 的回复:
这么快结贴了啊?不错
大哥我是让你来看看我的问题该怎么解决的。那个小的图标,怎么加呀!现在老弟实在做不出来了,试试了好多的办法呀!
看不见的裂痕 2013-01-21
  • 打赏
  • 举报
回复
这么快结贴了啊?不错
  • 打赏
  • 举报
回复
引用 29 楼 echoyin59 的回复:
引用 27 楼 sadasasdasd 的回复:引用 25 楼 echoyin59 的回复: CImageList m_ImageList;//设为成员变量 m_ImageList.Create(16,16,ILC_COLOR,1,0); m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1)); m_ctrList.……
噢,我还是试着,看看吧、我的们东西要求比较高能不能控件的就不用呵呵!谢谢!我再想想办法吧!
诶呦 2013-01-18
  • 打赏
  • 举报
回复
引用 27 楼 sadasasdasd 的回复:
引用 25 楼 echoyin59 的回复: CImageList m_ImageList;//设为成员变量 m_ImageList.Create(16,16,ILC_COLOR,1,0); m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1)); m_ctrList.SetImageList(&m_ImageList,LVS……
//要重绘,不然你看看网上有没有别人写好的控件,直接拿来用就行了
  • 打赏
  • 举报
回复
引用 26 楼 sha_jinhao 的回复:
CListCtrl控件,Report风格列表中添加图片 一、设置CListCtrl控件扩展风格(网络线、整行选中、图片) DWORD dwStyle; dwStyle = m_list1.GetExtendedStyle(); dwStyle = dwStyle|LVS_EX_FULLROWSELECT|LV……
呵呵我来试试,慢慢看,你的代码太多,还没有看懂呢?
  • 打赏
  • 举报
回复
引用 25 楼 echoyin59 的回复:
CImageList m_ImageList;//设为成员变量 m_ImageList.Create(16,16,ILC_COLOR,1,0); m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1)); m_ctrList.SetImageList(&m_ImageList,LVSIL_SMALL); /……
不能像我图上那一种显示吗?非得在第一列显示吗?
jimette 2013-01-18
  • 打赏
  • 举报
回复
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")); //第二列为文字
诶呦 2013-01-18
  • 打赏
  • 举报
回复
CImageList m_ImageList;//设为成员变量 m_ImageList.Create(16,16,ILC_COLOR,1,0); m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1)); m_ctrList.SetImageList(&m_ImageList,LVSIL_SMALL); //图标在第一列
  • 打赏
  • 举报
回复
引用 19 楼 sadasasdasd 的回复:
引用 15 楼 sha_jinhao 的回复:sha_jinhao@163.com 收到了没呀!
谢谢。
  • 打赏
  • 举报
回复
引用 21 楼 sha_jinhao 的回复:
回去改吧 !!
? 今天晚上吗?现在很急呀!
  • 打赏
  • 举报
回复
引用 20 楼 schlafenhamster 的回复:
第一列后的 图标 要 自绘
说清楚点好吧,小弟初学。谢谢!好多都不会做呀!
jimette 2013-01-18
  • 打赏
  • 举报
回复
回去改吧 !!
schlafenhamster 2013-01-18
  • 打赏
  • 举报
回复
第一列后的 图标 要 自绘
  • 打赏
  • 举报
回复
引用 15 楼 sha_jinhao 的回复:
sha_jinhao@163.com
收到了没呀!
  • 打赏
  • 举报
回复
引用 17 楼 KeepingStudyZXR 的回复:
楼主的蓝色字段背景色,和下面的黑色背景色是怎么实现的呢,想要学习一下。。。
等我发博文吧!有机会的,我也是学的呵呵!
KeepingStudyZXR 2013-01-18
  • 打赏
  • 举报
回复
楼主的蓝色字段背景色,和下面的黑色背景色是怎么实现的呢,想要学习一下。。。
加载更多回复(16)

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧